diff options
Diffstat (limited to 'ops/ci/pipeline.yml')
-rw-r--r-- | ops/ci/pipeline.yml | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ops/ci/pipeline.yml b/ops/ci/pipeline.yml new file mode 100644 index 0000000..4308f6a --- /dev/null +++ b/ops/ci/pipeline.yml @@ -0,0 +1,25 @@ +env: + BUILDKITE_TOKEN_PATH: /run/agenix/buildkite/graphql +steps: + - label: ":shell:" + command: "nix develop -c pre-commit run --all-files" + + # wait for all previous steps to complete. + - wait: null + continue_on_failure: true + + - label: ":hammer:" + command: | + set -ueo pipefail + + readonly FAILED_JOBS=$(curl 'https://graphql.buildkite.com/v1' \ + --silent \ + -H "Authorization: Bearer $(cat ${BUILDKITE_TOKEN_PATH})" \ + -d "{\"query\": \"query BuildStatusQuery { build(uuid: \\\"$BUILDKITE_BUILD_ID\\\") { jobs(passed: false) { count } } }\"}" | \ + jq -r '.data.build.jobs.count') + + echo "$$FAILED_JOBS build jobs failed." + + if (( $$FAILED_JOBS > 0 )); then + exit 1 + fi |