burrow/Scripts/ci/upload-release-garage.sh
Conrad Kramer b06244e88c
Some checks failed
Build Rust / Cargo Test (push) Successful in 4m3s
Build Site / Next.js Build (push) Failing after 5s
Lint Governance / BEP Metadata (push) Successful in 1s
Disable optional AWS checksums for Garage uploads
2026-06-07 17:43:04 -07:00

33 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
: "${BUILD_NUMBER:?BUILD_NUMBER is required}"
: "${BURROW_GARAGE_ENDPOINT:?BURROW_GARAGE_ENDPOINT is required}"
: "${AWS_ACCESS_KEY_ID:?AWS_ACCESS_KEY_ID is required for Garage upload}"
: "${AWS_SECRET_ACCESS_KEY:?AWS_SECRET_ACCESS_KEY is required for Garage upload}"
repo_root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "${repo_root}"
source_dir="${BURROW_RELEASE_OUT:-${repo_root}/dist/builds/${BUILD_NUMBER}}"
if [[ ! -d "$source_dir" ]]; then
echo "release artifact directory not found: $source_dir" >&2
exit 1
fi
if ! command -v aws >/dev/null 2>&1; then
echo "aws CLI is required for Garage release upload" >&2
exit 127
fi
bucket="${BURROW_RELEASE_GARAGE_BUCKET:-burrow-releases}"
region="${BURROW_GARAGE_REGION:-garage}"
destination="s3://${bucket}/builds/${BUILD_NUMBER}"
export AWS_DEFAULT_REGION="$region"
export AWS_EC2_METADATA_DISABLED=true
export AWS_REQUEST_CHECKSUM_CALCULATION="${AWS_REQUEST_CHECKSUM_CALCULATION:-when_required}"
export AWS_RESPONSE_CHECKSUM_VALIDATION="${AWS_RESPONSE_CHECKSUM_VALIDATION:-when_required}"
aws --endpoint-url "$BURROW_GARAGE_ENDPOINT" s3 sync "$source_dir" "$destination" --no-progress