Repository navigation
ci: stop re-judging authorship of commits already merged to main/dev - #2839
Conversation
A back-merge PR lists every commit main has that dev lacks, so the single bot-authored commit on main (aa6db97, chip-peanut-bot) failed the gate on #2830 and left it permanently unmergeable: that commit is an ancestor of main, and non_fast_forward + required_signatures with zero bypass actors mean it can never be rewritten. No branch shape clears it. Commits already reachable from main or dev are now reported as a warning instead of a failure. New work is gated exactly as before, and the compare call runs only for a commit that already failed the author test, so a green PR costs no extra API calls.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
On-demand reviews are free for the next 25 days. After that, they cost $0.25 per reviewed file. Or wait 15 minutes for your next included review. View limit detailsLimit details: You’ve used the included review currently available. Your 60 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
Comment |
|
@coderabbitai review |
|
Code-analysis diffPainscore total: 7451.65 → 7451.65 (0) |
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
The bug
human-authorsjudges every commit the PR lists. A back-merge lists every commitmainhas thatdevlacks — so one bot-authored commit already onmainfails the gate forever.That is where #2830 is now:
aa6db97(chore: retrigger OTA build, an empty commit) came in via #2823 and is an ancestor ofmain. Ruleset6457257appliesnon_fast_forward+required_signaturestorefs/heads/**with zero bypass actors, so it can never be rewritten — andci-successis a required check onmain/dev, also with zero bypass. There is no branch shape that clears this and no one who can merge past it. Every future back-merge inherits the same wedge.The fix
A commit already reachable from
mainordevis permanent, and the PR that first proposed it is where the gate belongs. Those are now reported withcore.warninginstead of failing the run.Unchanged for new work: bot authors, unlinked emails and non-collaborators are still hard failures on the PR that introduces them.
Cost: the
comparecall runs only for a commit that already failed the author test, cached per SHA. A green PR makes zero extra API calls.Verified
Script extracted from the built YAML and exercised against a mocked Octokit:
main(the back-merge case)devYAML parses;
prettier --checkclean.Follow-up
mainhas nohuman-authorsjob at all — that is how a bot-authored commit reached it through #2823 in the first place. Gatingmain-targeted PRs is a separate PR.