github.com/discordapp/buildkite-agent@v2.6.6+incompatible/scripts/publish-to-s3.sh (about) 1 #!/usr/bin/env bash 2 3 set -eo pipefail 4 5 version=$(buildkite-agent meta-data get "agent-version") 6 build=$(buildkite-agent meta-data get "agent-version-build") 7 8 if [[ "$CODENAME" == "experimental" ]]; then 9 version="$version.$build" 10 fi 11 12 echo "--- :package: Downloading built binaries" 13 14 rm -rf pkg/* 15 buildkite-agent artifact download "pkg/buildkite-agent-*" . 16 cd pkg 17 18 echo "--- :s3: Publishing $version to download.buildkite.com" 19 20 s3_base_url="s3://download.buildkite.com/agent/$CODENAME" 21 22 for binary in *; do 23 binary_s3_url="$s3_base_url/$version/$binary" 24 25 echo "Publishing $binary to $binary_s3_url" 26 aws s3 --region "us-east-1" cp --acl "public-read" "$binary" "$binary_s3_url" 27 28 echo "Calculating SHA256" 29 sha256sum "$binary" | awk '{print $1}' > "$binary.sha256" 30 31 echo "Publishing $binary.sha256 to $binary_s3_url.sha256" 32 aws s3 cp --region "us-east-1" --acl "public-read" --content-type "text/plain" "$binary.sha256" "$binary_s3_url.sha256" 33 done 34 35 echo "--- :s3: Copying /$version to /latest" 36 37 latest_version=$(aws s3 ls --region "us-east-1" "$s3_base_url/" | grep PRE | awk '{print $2}' | awk -F '/' '{print $1}' | ruby ../scripts/utils/latest_version.rb) 38 latest_version_s3_url="$s3_base_url/$latest_version/" 39 latest_s3_url="$s3_base_url/latest/" 40 41 echo "Copying $latest_version_s3_url to $latest_s3_url" 42 43 aws s3 cp --region "us-east-1" --acl "public-read" --recursive "$latest_version_s3_url" "$latest_s3_url" 44 45 echo "--- :llama::sparkles::llama: All done!"