From f96b3de629fb327db03845b4f7121a017c03d894 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 25 Aug 2026 23:49:51 +0200 Subject: [PATCH] ci: add CI Gate, one stable check name for branch protection (#281) Matrix cell names carry their ruby and gemfile, so a branch-protection rule listing them silently stops requiring anything when the matrix changes shape -- it just did (#295) and #249 will change it again. `skipped` passes: the matrix is off on ordinary PRs by design. `cancelled` does not -- a cell killed before it reported carries no verdict. --- .github/workflows/test.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 28e834e9..d397977c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -207,6 +207,18 @@ jobs: with: name: screenshots-${{ matrix.capybara-driver }}-${{ matrix.screenshot-driver }} + ci-gate: + name: CI Gate + # One check name for branch protection. Cell names carry their ruby and + # gemfile, so a rule listing them stops requiring anything the moment the + # matrix changes shape. `skipped` passes -- the matrix is off on PRs. + if: always() + needs: [ test-minimal-setup, functional-test, matrix, matrix-screenshot-driver ] + runs-on: ubuntu-latest + steps: + - if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') + run: exit 1 + test-report-upload: name: Test Report Upload if: github.event_name == 'workflow_dispatch'