aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2021-11-30 21:01:01 +0100
committerGitHub <noreply@github.com>2021-11-30 21:01:01 +0100
commitd22ce8b68d78f2c30ac21b0dbcfd78259596f9a8 (patch)
tree163ec417d8d1262bce3706a8f3f870988416790b
parentb96164f4af4b68a91b68c59087383a4f69e7d81e (diff)
parent5f64b69d23bfee70d222671a7d10f2efe22b99c6 (diff)
Merge pull request #5691 from NixOS/hydra-ci-test
Add a github cron to check the hydra status
-rw-r--r--.github/workflows/hydra_status.yml16
-rw-r--r--scripts/check-hydra-status.sh28
2 files changed, 44 insertions, 0 deletions
diff --git a/.github/workflows/hydra_status.yml b/.github/workflows/hydra_status.yml
new file mode 100644
index 000000000..b97076bd7
--- /dev/null
+++ b/.github/workflows/hydra_status.yml
@@ -0,0 +1,16 @@
+name: Hydra status
+on:
+ schedule:
+ - cron: "12,42 * * * *"
+ workflow_dispatch:
+jobs:
+ check_hydra_status:
+ name: Check Hydra status
+ if: github.repository_owner == 'NixOS'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2.4.0
+ with:
+ fetch-depth: 0
+ - run: bash scripts/check-hydra-status.sh
+
diff --git a/scripts/check-hydra-status.sh b/scripts/check-hydra-status.sh
new file mode 100644
index 000000000..c1d2d7c40
--- /dev/null
+++ b/scripts/check-hydra-status.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+# set -x
+
+
+# mapfile BUILDS_FOR_LATEST_EVAL < <(
+# curl -H 'Accept: application/json' https://hydra.nixos.org/jobset/nix/master/evals | \
+# jq -r '.evals[0].builds[] | @sh')
+BUILDS_FOR_LATEST_EVAL=$(
+curl -sS -H 'Accept: application/json' https://hydra.nixos.org/jobset/nix/master/evals | \
+ jq -r '.evals[0].builds[]')
+
+someBuildFailed=0
+
+for buildId in $BUILDS_FOR_LATEST_EVAL; do
+ buildInfo=$(curl -sS -H 'Accept: application/json' "https://hydra.nixos.org/build/$buildId")
+
+ buildStatus=$(echo "$buildInfo" | \
+ jq -r '.buildstatus')
+
+ if [[ "$buildStatus" -ne 0 ]]; then
+ someBuildFailed=1
+ echo "Job “$(echo "$buildInfo" | jq -r '.job')” failed on hydra"
+ fi
+done
+
+exit "$someBuildFailed"