From 66936646e20779555b7838448ecaf506e4a6b66e Mon Sep 17 00:00:00 2001 From: lczyk Date: Thu, 8 Oct 2026 17:00:45 +0100 Subject: [PATCH 1/2] ci: single required check for the main ruleset ci-ok needs every other job, so the ruleset can require one stable name instead of each matrix job. --- .github/workflows/ci.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 47d03a2..6a2f1c7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -55,3 +55,24 @@ jobs: echo "::error::inlined/*.yaml is stale -- run 'make inline' and commit the result" exit 1 fi + + # The one check the main ruleset requires, so it doesn't have to list every + # matrix job by name. always() makes a failed or cancelled dependency fail + # this job; a skipped required check would count as passing. + ci-ok: + if: always() + needs: [binaries, build-and-test, build-oci, check-inlined] + runs-on: ubuntu-24.04 + timeout-minutes: 5 + steps: + - name: Assert every job succeeded + env: + RESULTS: ${{ join(needs.*.result, ' ') }} + run: | + echo "results: $RESULTS" + for r in $RESULTS; do + if [ "$r" != success ]; then + echo "::error::a job ended as $r" + exit 1 + fi + done From 647a15c3bea2c5c58bed764a85458035d114bf2e Mon Sep 17 00:00:00 2001 From: lczyk Date: Thu, 8 Oct 2026 17:03:43 +0100 Subject: [PATCH 2/2] ci: drop timeout on ci-ok the job only loops over a few words; it can't hang. --- .github/workflows/ci.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6a2f1c7..f73c862 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -63,7 +63,6 @@ jobs: if: always() needs: [binaries, build-and-test, build-oci, check-inlined] runs-on: ubuntu-24.04 - timeout-minutes: 5 steps: - name: Assert every job succeeded env: