fix(ci): make sync-develop open a back-merge that can actually merge - #585
Conversation
The job opened a `develop <- main` PR. That shape cannot merge: develop requires the head branch to be up to date, and main falls behind develop the moment anything lands after the release. #584 was created that way and is already stuck at BEHIND. It now pushes a branch descended from develop with main merged into it, which satisfies the rule and — unlike a squash — actually makes main an ancestor of develop, so the next promotion PR is not stuck at BEHIND. The branch is named chore/backmerge-main-<tag> so automerge.yml skips it, and the job arms auto-merge with --merge explicitly. Exits early when main is already an ancestor, or when the branch exists. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 52 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
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 |
|
🎉 This PR is included in version 0.18.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Context
I enabled Allow GitHub Actions to create and approve pull requests at the org and repo level, which unblocked
sync-develop— it had been failing withGitHub Actions is not permitted to create or approve pull requestssince forever. Re-running it against the v0.17.0 build now succeeds.But it immediately produced #584, which cannot merge.
The problem
sync-developopened adevelop ← mainPR. That shape deadlocks:developrequires the head branch to be up to date, andmainfalls behinddevelopthe moment anything lands after the release — #582 and #583 did exactly that. #584 has been sitting atBEHINDsince it was created. I hit the same wall by hand earlier tonight with #577.Even if it could merge, the squash auto-merge would replay the content as a fresh commit and not establish ancestry, which is the entire point of a back-merge. That is what went wrong in #578 and #579.
The fix
Push a branch descended from
developwithmainmerged into it, then open that againstdevelop. Same thing that finally worked manually in #581.chore/backmerge-main-<tag>, which matches the exclusion added in fix(ci): keep release back-merges out of the squash auto-merge #580 soautomerge.ymlleaves it alone.--merge, so it lands as a merge commit.mainis already an ancestor, or when the branch already exists, so re-runs are safe.Follow-up
#584 should be closed — this replaces it. The next release will exercise this path for real.
🤖 Generated with Claude Code