# 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)"