diff --git a/.buildkite/pipeline-upload.sh b/.buildkite/pipeline-upload.sh index dd3aa146c7..d3b4ec8fb0 100755 --- a/.buildkite/pipeline-upload.sh +++ b/.buildkite/pipeline-upload.sh @@ -10,7 +10,13 @@ set -e cd "$(dirname "$0")"/.. -buildkite-agent pipeline upload ci/buildkite.yml +if [[ -n $BUILDKITE_TAG ]]; then + buildkite-agent annotate --style info --context release-tag \ + "https://github.com/solana-labs/solana/releases/$BUILDKITE_TAG" + buildkite-agent pipeline upload ci/buildkite-release.yml +else + buildkite-agent pipeline upload ci/buildkite.yml +fi if [[ $BUILDKITE_BRANCH =~ ^pull ]]; then # Add helpful link back to the corresponding Github Pull Request diff --git a/ci/buildkite-release.yml b/ci/buildkite-release.yml new file mode 100644 index 0000000000..27fc72076d --- /dev/null +++ b/ci/buildkite-release.yml @@ -0,0 +1,15 @@ +# Build steps that run on a release tag +# +# All the steps in `buildkite.yml` are skipped and we jump directly to the +# secondary build steps since it's assumed the commit that was tagged is known +# to be good so there's no need to rebuild and retest it. +steps: + - trigger: "solana-secondary" + branches: "!pull/*" + async: true + build: + message: "${BUILDKITE_MESSAGE}" + commit: "${BUILDKITE_COMMIT}" + branch: "${BUILDKITE_BRANCH}" + env: + TRIGGERED_BUILDKITE_TAG: "${BUILDKITE_TAG}" diff --git a/ci/buildkite-secondary.yml b/ci/buildkite-secondary.yml index 5b520b3c8c..5a33952cae 100644 --- a/ci/buildkite-secondary.yml +++ b/ci/buildkite-secondary.yml @@ -1,3 +1,6 @@ +# +# Build steps that run after the primary pipeline on pushes and tags. +# Pull requests to not run these steps. steps: - command: "sdk/docker-solana/build.sh" timeout_in_minutes: 60 diff --git a/ci/buildkite.yml b/ci/buildkite.yml index 9a3a2aaa49..6a06a34d65 100644 --- a/ci/buildkite.yml +++ b/ci/buildkite.yml @@ -1,3 +1,6 @@ +# Build steps that run on pushes and pull requests. +# +# Release tags use buildkite-release.yml instead steps: - command: "ci/shellcheck.sh" name: "shellcheck"