aboutsummaryrefslogtreecommitdiff
path: root/ops/ci/pipeline.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ops/ci/pipeline.yml')
-rw-r--r--ops/ci/pipeline.yml25
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