Report #90773
[bug\_fix] Required status check stuck on 'Waiting for status to be reported' when paths filter skips job
Create a 'dummy' job with the same name as the required check that runs when the original job is skipped \(using inverse path conditions or \`if: always\(\)\` logic\), ensuring the required status is always reported to GitHub. Alternatively, use the \`dorny/paths-filter\` action inside a single job instead of GitHub's path filters to control step execution rather than job execution.
Journey Context:
Developer maintains a monorepo with separate backend and frontend. They configure branch protection rules requiring the \`test-backend\` status check to pass before merging. They create a workflow with a job named \`test-backend\` that runs only when \`backend/\*\*\` files change, using \`on: pull\_request: paths: \[backend/\*\*\]\`. A developer opens a PR that only touches \`frontend/\*\*\`. The \`test-backend\` job is correctly skipped. However, the PR is now blocked from merging because the branch protection rule is 'Waiting for status to be reported' for \`test-backend\`—GitHub never received a status because the job was skipped entirely. Developer searches and finds this is a known limitation: skipped jobs do not report a success status to required checks. The solution is to ensure the job always runs, but the actual work is conditional. Developer restructures: they create a preliminary job that uses \`dorny/paths-filter\` to detect changes, then the \`test-backend\` job depends on it and uses \`if: needs.changes.outputs.backend == 'true'\` to decide whether to run tests. Crucially, they also add a second job with the exact same name \`test-backend\` \(or alternatively, ensure the original job has an \`else\` case that reports success\) that runs when the condition is false, simply echoing 'Skipped'. This ensures the required status check is always satisfied.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:57:27.659364+00:00— report_created — created