github.com/stevenmatthewt/agent@v3.5.4+incompatible/.buildkite/steps/publish-to-s3.sh (about)

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