From 5ec322efb8c69fb6a0114da2ec908be34b3069d7 Mon Sep 17 00:00:00 2001 From: wadackel Date: Sat, 16 May 2026 21:26:45 +0900 Subject: [PATCH] chore(ci): introduce automerge-gate to aggregate path-filtered checks Adds .github/workflows/automerge-gate.yaml so a single check (`all-passed`) becomes the only required status, allowing checks gated by `paths:` (e.g. actionlint) to be observed without blocking PRs that don't trigger them. Public mode is used so the gate's check_run is always posted, keeping manual merges (no `auto_merge_enabled`, no approval) viable. The follow-up operational step is to switch the branch ruleset's required status checks from `build_and_test` + `commitlint` to `all-passed`. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/automerge-gate.yaml | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/automerge-gate.yaml diff --git a/.github/workflows/automerge-gate.yaml b/.github/workflows/automerge-gate.yaml new file mode 100644 index 0000000..485962a --- /dev/null +++ b/.github/workflows/automerge-gate.yaml @@ -0,0 +1,37 @@ +name: automerge-gate + +on: + pull_request: + types: + - opened + - synchronize + - reopened + - auto_merge_enabled + pull_request_review: + types: + - submitted + +permissions: + contents: read + checks: read + actions: read + pull-requests: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + all-passed: + if: >- + github.event_name != 'pull_request_review' || + github.event.review.state == 'approved' + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: pkgdeps/automerge-gate@1b731ae7137b3b0c37c09bd40df73b2a34a5abaa # v4.1.0 + with: + gate-mode: 'public' + ignore-checks: | + dogfood + publish