diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2021-11-30 21:01:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 21:01:01 +0100 |
commit | d22ce8b68d78f2c30ac21b0dbcfd78259596f9a8 (patch) | |
tree | 163ec417d8d1262bce3706a8f3f870988416790b | |
parent | b96164f4af4b68a91b68c59087383a4f69e7d81e (diff) | |
parent | 5f64b69d23bfee70d222671a7d10f2efe22b99c6 (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.yml | 16 | ||||
-rw-r--r-- | scripts/check-hydra-status.sh | 28 |
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" |