feat(framework): rolling weekly release model (main/next)#308
Merged
Conversation
Weekly rolling-release flow: work integrates on `next`, promotes to `main` weekly, release-please opens a Release PR that is auto-merged, then `main` back-merges into `next` automatically. Urgent fixes take a hotfix fast lane straight to `main`. - ci.yml: auto-merge the release-please Release PR (App token bypass) - back-merge.yml: automated main -> next sync on release published - rulesets/next.json: branch protection for the integration branch - marketplace.json: drop stale per-entry version (plugin.json is source) - RELEASE.md: the flow; vcs.md/GOVERNANCE.md/CONTRIBUTING.md aligned - aidd_docs: brainstorm, plan, sandbox test runbook Docs describe the target; next + auto-merge + back-merge must be wired on the repo (create next, apply rulesets) before the flow is live. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sandbox probe: a plain `gh pr merge --squash` is refused by the branch policy even for a bypass actor (unmet review + pending checks). `--admin` performs the override merge the ruleset bypass permits. `--auto` is not viable (a bot cannot satisfy the required review). Update the ci.yml step and the runbook. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 What & why
Weekly rolling releases on
main/next: work integrates onnext, promotes tomain, release-please opens a Release PR that is auto-merged, thenmainback-merges intonext. Stops new users from pulling merged-but-unreleased code frommainHEAD under an old version number.🛠️ How it works
--adminis required: a plaingh pr mergeis refused by branch policy even for a bypass actor (verified end-to-end in a throwaway sandbox), and--adminperforms the override the ruleset bypass permits. An App-token merge also re-fires the downstreampush/releaseworkflows aGITHUB_TOKENmerge would not.release: published, mergesmainintonext; on conflict opens a PR instead of pushing silently.next; the App getsalwaysbypass so the back-merge can push.version(schema-optional;plugin.jsonis the source of truth).--auto: a bot can never satisfy the required review, so it would wait forever (repo also had auto-merge off).🧪 How to verify
Validated end-to-end on a throwaway sandbox: release-please → App
--adminauto-merge of the Release PR → tag →back-merge.ymlmademain≡next(ahead 0 / behind 0). Local + static checks:jq '.plugins[]|has("version")' .claude-plugin/marketplace.json→ allfalseactionlint .github/workflows/ci.yml .github/workflows/back-merge.yml→ cleanRollout order on this repo:
nextbranch created ✓,nextruleset applied ✓ — merging this PR makes the auto-merge + back-merge live. After merge, targetnextfor new work (notmain). The body-length release-publish quirk seen in the sandbox was a first-mega-release artifact; this repo releases incrementally and is unaffected.✅ I certify