From 5d332670a5f198630f80b6d053edda79af47e148 Mon Sep 17 00:00:00 2001 From: Renn F Date: Tue, 3 Nov 2026 00:33:21 +0100 Subject: [PATCH] ci: add the ci gate job that master-rule requires master-rule has required a status context named ci, but no job here was called ci, so the check never reported and every merge leaned on the admin bypass. The new job needs every other job in ci.yml, always runs, and fails if any of them failed or was cancelled. A skipped job counts as passed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E28c6iftj4hRmx55Uaaoxc --- .github/workflows/ci.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f1d533..4de0fc2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,3 +97,20 @@ jobs: run: | go install golang.org/x/vuln/cmd/govulncheck@latest govulncheck ./... + + ci: + # The context master-rule requires: it reports on every run and fails when a job above failed or was + # cancelled. A skipped job counts as passed. + if: always() + needs: [test, govulncheck] + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Every job above succeeded or was skipped + env: + RESULTS: ${{ join(needs.*.result, ' ') }} + run: | + echo "needs: $RESULTS" + for result in $RESULTS; do + case "$result" in failure|cancelled) exit 1 ;; esac + done