Skip to content

fix(ci): a red base must not trap the PR that repairs it - #284

Closed
catomean wants to merge 0 commit into
mainfrom
ci-red-base-carveout
Closed

fix(ci): a red base must not trap the PR that repairs it#284
catomean wants to merge 0 commit into
mainfrom
ci-red-base-carveout

Conversation

@catomean

@catomean catomean commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

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-housing outright 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 evidence
the 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 gh on PATH — five cases, including
a base with no CI history at all (set -u makes an else-only declaration
fatal there, which is a bug this change explicitly avoids).

🤖 Generated with Claude Code

@catomean catomean closed this Aug 7, 2026
@catomean
catomean force-pushed the ci-red-base-carveout branch from 2faf193 to bb43b5b Compare August 7, 2026 10:31
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