fix(ci): a red base must not trap the PR that repairs it - #284
Closed
catomean wants to merge 0 commit into
Closed
Conversation
catomean
force-pushed
the
ci-red-base-carveout
branch
from
August 7, 2026 10:31
2faf193 to
bb43b5b
Compare
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.
Ported from bitbaum/orangecat#650, composed with what this repo already does.
This sweep already handles part of the problem — but a genuine red base still
hard-blocks, so the PR that repairs the base cannot land and only a human can
break the tie. That is the step the queue exists to remove. (It froze
maonakamoto/aoz-housingoutright on 2026-08-07.)Now the sweep identifies which jobs are red and lets a PR through only if its
own checks pass every one of them. Not a weakening: a PR's checks run on the
merge result (
refs/pull/N/merge), so green-on-those-jobs is direct evidencethe post-merge base is better than the pre-merge base.
Still refused: a PR that does not run the failing job, one covering only some of
them, and a base failure whose jobs cannot be identified (falls back to the old
blanket refusal). The existing reporting/retry behaviour is kept intact.
Verified against the real script with a fake
ghon PATH — five cases, includinga base with no CI history at all (
set -umakes an else-only declarationfatal there, which is a bug this change explicitly avoids).
🤖 Generated with Claude Code