#!/usr/bin/env bash set -euo pipefail repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" cd "${repo_root}" prefix="${BURROW_PACKAGE_GCS_PREFIX:-}" source_dir="${BURROW_PACKAGE_REPOSITORY_DIR:-${repo_root}/publish/repositories}" if [[ ! -d "$source_dir" ]]; then echo "package repository directory not found: $source_dir" >&2 exit 1 fi bucket="${BURROW_PACKAGE_GCS_BUCKET:-burrow-net-packages}" if ! command -v gcloud >/dev/null 2>&1; then echo "gcloud is required for GCS package repository upload" >&2 exit 127 fi gcloud auth list --filter=status:ACTIVE --format='value(account)' | grep -q . || { echo "gcloud has no active account; run Scripts/ci/google-wif-auth.sh first" >&2 exit 1 } destination="gs://${bucket}" if [[ -n "$prefix" ]]; then destination="${destination}/${prefix}" fi gcloud storage rsync --recursive "$source_dir" "$destination"