How to Fix Required Checks Not Running on the Merge Group
A required check that is skipped on the merge group (by a path filter or if condition) never reports success, so the queue cannot merge.
GitHub treats a skipped required check as not passing on the merge group. Add a lightweight always-run placeholder job with the required name so the queue always gets a success.
Steps
- Find the required check that is being skipped on the merge group.
- Add a placeholder job that always runs and reports the required name.
- Point branch protection at the placeholder if the real check is optional there.
Always-run placeholder
.github/workflows/ci.yml
on:
merge_group:
pull_request:
jobs:
test:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- run: npm test
test-gate:
# Required name; always reports success on the merge group
runs-on: ubuntu-latest
steps:
- run: echo "gate ok"Gotchas
- Requiring the real path-filtered check directly means a docs-only merge group never satisfies it.
- Keep the placeholder cheap; it exists only to report a status, not to run the suite twice.
Related guides
How to Fix a Merge Queue Stuck on an Expected CheckResolve a merge queue entry that sits pending forever because a required check is listed as expected but neve…
How to Configure Required Status Checks With the Merge QueueSelect which status checks the GitHub merge queue must pass, and make sure every required check runs on the m…
How to Use the merge_group Trigger in GitHub ActionsAdd the merge_group event to a GitHub Actions workflow so required checks run against the temporary merge que…