Skip to content

fix(ci): unblock workflow-only PRs stuck on required Postgres check - #837

Merged
manavgup merged 1 commit into
mainfrom
fix/required-check-path-filter-deadlock
Jul 19, 2026
Merged

fix(ci): unblock workflow-only PRs stuck on required Postgres check#837
manavgup merged 1 commit into
mainfrom
fix/required-check-path-filter-deadlock

Conversation

@manavgup

Copy link
Copy Markdown
Owner

Problem

Postgres integration tests is a required status check on main, but postgres-integration.yml is path-filtered to src/**, tests/**, pyproject.toml, uv.lock. A PR that touches none of those — like #836 (workflow-only) and #832 (workflows + config + docs) — never gets the check reported, so GitHub shows it as waiting forever and the PR is BLOCKED even with every triggered check green.

Solution

GitHub's documented pattern for required-but-path-filtered checks: a mirror workflow with an identically named job that succeeds instantly, triggered by the exact inverse filter (paths-ignore with the same list the real workflow uses in paths).

  • PR touches code paths → real Postgres tests run and report the check.
  • PR touches nothing relevant → mirror reports the same check name, green.
  • The two lists must stay in sync (noted in a header comment in both file's terms).

Verification

This PR is its own end-to-end test: it's workflow-only, so it deadlocks under the current setup — the mirror workflow it adds is what reports Postgres integration tests on it and flips it mergeable.

Notes

🤖 Generated with Claude Code

'Postgres integration tests' is a required status check on main, but
its workflow is path-filtered to src/tests/dependency paths. A PR
touching none of those (workflow-only or docs-only changes) never gets
the check reported and stays BLOCKED forever — this deadlocked #836
and #832 despite every triggered check passing.

Add GitHub's documented mirror pattern: an identically named job that
succeeds instantly, triggered by the exact inverse filter
(paths-ignore mirroring the real workflow's paths). Code PRs run the
real tests; non-code PRs get the green check from the mirror. This PR
unblocks itself the same way.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@manavgup
manavgup merged commit 293cc2b into main Jul 19, 2026
2 checks passed
@manavgup
manavgup deleted the fix/required-check-path-filter-deadlock branch July 19, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant