From 113d125b275e1fdeeac6a25f44ed97c42c461ef6 Mon Sep 17 00:00:00 2001 From: Chris Constable Date: Wed, 21 Oct 2026 15:04:24 -0400 Subject: [PATCH] Add Required PR Checks job to gate merges --- .github/workflows/ci.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 899f113883..6a8dde13b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -364,3 +364,21 @@ jobs: python-repo-path: ${{github.event.pull_request.head.repo.full_name}} version: ${{github.event.pull_request.head.ref}} version-is-repo-ref: true + + # The single required status check for merging: a PR can merge only if every job in + # `needs` passed. + required-pr-checks: + name: Required PR Checks + # Without always(), this job would be skipped when a dependency fails, and GitHub + # treats a skipped required check as passing. + if: always() + needs: + - build-lint-test + - check-protos + - test-latest-deps + - cloud-test + runs-on: ubuntu-latest + steps: + - name: Fail if any check failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1