Skip to content

ci: stop re-judging authorship of commits already merged to main/dev - #2839

Merged
Hugo0 merged 1 commit into
devfrom
ci/human-authors-landed-history
Aug 27, 2026
Merged

Hugo0 merged 1 commit into
devfrom
ci/human-authors-landed-history

Conversation

@innolope-dev

Copy link
Copy Markdown
Collaborator

The bug

human-authors judges every commit the PR lists. A back-merge lists every commit main has that dev lacks — so one bot-authored commit already on main fails the gate forever.

That is where #2830 is now:

aa6db97: authored by chip-peanut-bot[bot] — bot-authored commits are not allowed; commit as yourself

aa6db97 (chore: retrigger OTA build, an empty commit) came in via #2823 and is an ancestor of main. Ruleset 6457257 applies non_fast_forward + required_signatures to refs/heads/** with zero bypass actors, so it can never be rewritten — and ci-success is a required check on main/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 main or dev is permanent, and the PR that first proposed it is where the gate belongs. Those are now reported with core.warning instead 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 compare call 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:

case result
all-human PR pass, 0 compare calls
bot commit already on main (the back-merge case) pass + warning
bot commit not landed anywhere fail
unlinked email already on dev pass + warning
unlinked email, new fail
non-collaborator, new fail

YAML parses; prettier --check clean.

Follow-up

main has no human-authors job at all — that is how a bot-authored commit reached it through #2823 in the first place. Gating main-targeted PRs is a separate PR.

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.
@vercel

vercel Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
peanut-wallet Ready Ready Preview Aug 26, 2026 8:14pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

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 details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9d8448f2-4b52-4e56-9899-1d3a7d6e1635

📥 Commits

Reviewing files that changed from the base of the PR and between edd3aef and d41834e.

📒 Files selected for processing (1)
  • .github/workflows/tests.yml

Comment @coderabbitai help to get the list of available commands.

@innolope-dev innolope-dev self-assigned this Aug 26, 2026
@innolope-dev

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

Copy link
Copy Markdown
Contributor

Code-analysis diff

Painscore total: 7451.65 → 7451.65 (0)
Findings: 0 net (+0 new, -0 resolved)

@github-actions

Copy link
Copy Markdown
Contributor

🧪 UI test report — ✅ all green

Suites

  • ✅ unit: 3596 ran, 0 failed, 0 skipped, 46.2s

📊 Coverage (unit)

metric %
statements 69.6%
branches 54.8%
functions 61.1%
lines 70.5%
⏱ 10 slowest test cases
time test
2.9s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › never places two stickers in heavy overlap (broad seed sweep)
1.0s src/hooks/query/__tests__/user.test.tsx › does NOT clear a token that rotated mid-request (stale 401 racing a fresh login)
0.4s src/utils/__tests__/sentry.utils.test.ts › defaults to the client budget under a browser global
0.3s src/utils/__tests__/crisp.test.ts › configures once across repeated support opens
0.3s src/app/(mobile-ui)/withdraw/__tests__/withdraw-states.test.tsx › Bank withdrawal keeps the $1 minimum for sub-$1 amounts
0.3s src/utils/__tests__/crisp.test.ts › settles, and hands back a usable plugin, against a real-shaped plugin proxy
0.3s src/app/(mobile-ui)/withdraw/__tests__/withdraw-states.test.tsx › the lazy bank view survives a re-render without blanking
0.3s src/hooks/__tests__/useCrispTokenId.test.ts › retries then stays undefined when the endpoint keeps failing (no fallback token)
0.3s src/utils/__tests__/sentry.utils.test.ts › still lets a per-call timeoutMs win over the default
0.3s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › every sticker stays within canvas at any count
📍 Inline annotations are in the **Unit test report** check above. Coverage artifact: `coverage-unit`. Generated by `.github/workflows/tests.yml`.

@Hugo0
Hugo0 merged commit 074d493 into dev Aug 27, 2026
14 checks passed

This branch was successfully deployed

1 active deployment
Preview — d41834ed Deployed Aug 26, 2026 by vercel[bot]
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.

2 participants