blob: 1625f7048b3a3fcade0e19f70fdcf7aa83514a58 [file] [log] [blame]
#!/bin/sh
#
# Builds a release version of the Buildkite Agent from source.
#
# Usage: build-agent.sh <VERSION>
#
set -euo pipefail
version="$1"
workdir="$(mktemp -d)"
trap "rm -rf \"$workdir\"" EXIT
cd "$workdir"
echo "Downloading source-code for Buildkite Agent v${version}..."
git clone --branch "v${version}" --depth=1 "https://github.com/buildkite/agent.git" .
commit="$(git rev-parse HEAD)"
echo "Version v${version} is commit ${commit}."
mkdir pkg
echo "Building Buildkite Agent v${version} for Linux..."
scripts/build-binary.sh linux amd64 "$version"
echo "Building Buildkite Agent v${version} for macOS..."
scripts/build-binary.sh darwin amd64 "$version"
echo "Building Buildkite Agent v${version} for Windows..."
scripts/build-binary.sh windows amd64 "$version"
echo "Uploading release artifacts to GCS..."
gsutil cp pkg/* gs://bazel-buildkite-agent/v${version}-${commit}/
echo "Done! This Buildkite Agent release can be download from:"
for name in pkg/*; do
echo " https://storage.googleapis.com/bazel-buildkite-agent/v${version}-${commit}/$(basename $name)"
done