Repository navigation
chore(renovate): let renovate gate its own automerge on CI - #1515
Conversation
main has no required status checks, so GitHub's auto-merge merges the moment it is enabled - that is how #1509 landed mid-CI. platformAutomerge hands renovate's automerge to that same mechanism, which would merge dependency PRs before their checks report. Requiring the new `ci gate` check on main would fix it for every merge path at once, but a repository ruleset cannot list the built-in GitHub Actions integration as a bypass actor: Actor GitHub Actions integration must be part of the ruleset source or owner organization and required status checks reject direct pushes too, so the rule would break update-pricing.yaml's push to main. Bypassing by write role does not help either, because renovate holds write and would bypass the gate it is meant to obey. With platformAutomerge off, renovate merges the branch itself once it has seen the branch checks pass, which needs no repository rules at all.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughRenovate’s ChangesRenovate automerge configuration
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ccusage-guide | b879c13 | Commit Preview URL Branch Preview URL |
Jul 28 2026, 09:46 AM |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — flips platformAutomerge from true to false so Renovate gates its own auto-merge on CI rather than delegating to GitHub's auto-merge, which merges immediately on main due to no required status checks.
- Disable
platformAutomergein.github/renovate.json— Renovate'splatformAutomergehands control to GitHub's auto-merge, which fires immediately onmain(no required checks). With it off, Renovate merges itself only after branch CI passes.
@v0 or keep the SHA fresh with Dependabot | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) | 𝕏
ccusage
@ccusage/ccusage-darwin-arm64
@ccusage/ccusage-darwin-x64
@ccusage/ccusage-linux-arm64
@ccusage/ccusage-linux-x64
@ccusage/ccusage-win32-x64
commit: |
ccusage performance comparisonPR SHA: This compares the PR package against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |
ccusage performance comparisonPR SHA: This compares the Rust PR release binary against the configured base package on the same CI runner. Package runtime diagnosticsCompares the PR package wrapper, the installed native optional dependency binary, and the workspace release binary on the same large fixture. This identifies whether slow package results come from JavaScript wrapper overhead, the published native binary build, or the Rust core itself. Fixtures: Claude
Committed fixture performanceCommitted small fixtures for stable PR-to-PR feedback and explicit Claude/Codex command coverage. Fixtures: Claude
Large real-world-shaped fixture performanceGenerated fixtures shaped from aggregate local log statistics: thousands of JSONL files, many small sessions, and a long tail of larger sessions. No real prompts, paths, or outputs are stored in the fixtures. Fixtures: Claude
Artifact size
Lower medians and smaller artifacts are better. CI runner noise still applies; use same-run ratios as directional PR feedback, not release guarantees. |

Summary
mainhas no required status checks, so GitHub's auto-merge merges the moment it is enabled — that is how #1509 landed with its CI still running.platformAutomergehands renovate's automerge to that same mechanism, so dependency PRs would merge before their checks report. With it off, renovate merges the branch itself only after it has seen the branch checks pass, which needs no repository rules at all.Why not require the
ci gatecheck insteadThat was the plan, and #1511 added the check for it, but a repository ruleset cannot list the built-in GitHub Actions integration as a bypass actor:
Required status checks reject direct pushes too, so without that bypass the rule would break
update-pricing.yaml, which pushes tomainon purpose. Bypassing by write role does not help either: renovate holds write, so it would bypass the very gate it is meant to obey.Required checks become workable once a bot app with its own token can open the pricing PRs — then nothing needs to push to
maindirectly.ci gatestays in place for that.Testing
renovate-config-validator --strictpasses.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.Summary by cubic
Disable
platformAutomergeinrenovateso dependency PRs only self-merge after CI passes. This avoids GitHub auto-merge onmainmerging before checks complete.Written for commit b879c13. Summary will update on new commits.
Summary by CodeRabbit