tvl-depot/ops/pipelines/static-pipeline.yaml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

33 lines
1.2 KiB
YAML
Raw Normal View History

# This file defines the static Buildkite pipeline which attempts to
# create the dynamic pipeline of all depot targets.
#
# If something fails during the creation of the pipeline, the fallback
# is executed instead which will simply report an error to Gerrit.
---
steps:
- label: ":llama:"
command: |
function fallback() {
echo 'Using fallback pipeline ...'
buildkite-agent pipeline upload ops/pipelines/fallback.yaml
exit
}
nix-build -A ops.pipelines.depot -o depot.yaml --show-trace || fallback
buildkite-agent meta-data set 'failure' '0'
buildkite-agent pipeline upload depot.yaml || fallback
# Create a revision number for the current commit for builds on
# canon.
#
# This writes data back to Gerrit using the Buildkite agent
# credentials injected through a git credentials helper.
#
# Revision numbers are defined as the number of commits in the
# lineage of HEAD, following only the first parent of merges.
- label: ":git:"
if: "build.branch == 'refs/heads/canon'"
command: |
git -c 'credential.helper=/etc/secrets/buildkite-credential-helper' \
push origin "HEAD:refs/r/$(git rev-list --count --first-parent HEAD)"