feat(pr-status): name the required checks that never reported - #152
Merged
Conversation
BLOCKED with no failing check, no open thread and no missing review fell through to "investigate — check branch protection manually". That is the shape of a required context which never reported at all: the rollup only lists what ran, so the PR page shows nothing but green. Hit three times in one session (t3x-nr-repurpose#70, t3x-nr-mcp-agent#92, t3x-cowriter#134), each time answered by hand-diffing the ruleset's required contexts against the reported check-runs. Both underlying causes are mechanical: - workflows never dispatched (common after an Actions incident, or after a force-push during one) — close+reopen re-fires the events - a fork PR whose runs sit at action_required and need approving once per push — until then the PR shows a misleadingly small green set; cowriter#134 displayed 5 of 88 passing, and approving them immediately exposed a Rector failure and eight failing unit cells Both inputs were already collected: $required from the rules endpoint and $checks from the rollup. The diff needs no extra API call. Follows the fix-signatures precedent directly above, which was added for the same reason — a gate GitHub reports only as mergeStateStatus. Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
|
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



The dead end
BLOCKEDwith no failing check, no open thread and no missing review currently ends atNEXT: investigate — check branch protection manually.That is the signature of a required context which never reported at all. The status rollup only lists checks that ran, so the PR page shows nothing but green — there is no red thing to look at, and
mergeStateStatusalone never says which context is missing. Hit three times in one session — t3x-nr-repurpose#70, t3x-nr-mcp-agent#92, t3x-cowriter#134 — each answered by hand-diffing the ruleset's required contexts against the reported check-runs.Two causes, both mechanical
gh run listfor the branch shows nothing at all. Close+reopen re-fires thepull_requestevents without adding a commit.completed/action_requiredand need approving once per push. Until then the PR shows a misleadingly small green set: cowriter#134 displayed 5 passing checks of 88, and approving them immediately exposed a Rector failure and eight failing unit cells. A fork PR's green is not green until approved.The change
Both inputs were already collected —
$requiredfrom the rules endpoint,$checksfrom the rollup — so the diff costs no extra API call. The verdict now names them:undispatchedis also exposed in--jsonnext to the other check facts. This follows thefix-signaturesprecedent immediately above it, added for the same reason: a gate GitHub reports only asmergeStateStatus, with no red check to find.Verified
none — PR is MERGED, andundispatchedis[]on a clean PRbash -nclean — thecmdstring deliberately carries no single quotes, the trap the neighbouringfix-signaturescomment already documents