Parent: #310
Goal
Give v1 and v2 independent, explicit delivery paths before the v2 branch is opened for migration work.
Scope
- Run the agreed CI suite for pull requests and relevant pushes on both
main and the future v2 branch.
- Keep main and v2 Storybook or documentation previews on distinct destinations.
- Replace the shared conditional release workflow with two explicit workflows:
release-v1.yml
release-v2.yml
- Configure the v1 workflow before cutover:
- stable branch:
main
- permitted versions:
1.x
- npm dist-tag:
latest
- Prepare the same v1 workflow for the future maintenance line:
- branch:
release/v1
- permitted versions:
1.x
- npm dist-tag:
v1
- Configure the v2 workflow before cutover:
- branch:
v2
- permitted versions:
2.x prereleases
- npm dist-tag:
next
- Design the v2 workflow so that cutover changes only its branch and stable-channel configuration:
- branch:
main
- permitted versions: stable
2.x
- npm dist-tag:
latest
- Add branch, version, and dist-tag guards that fail before publication.
- Provide dry-run or equivalent release-routing verification.
- Keep publication behind an explicit release pull request or approval step.
- Confirm that the release GitHub App can operate under the planned rulesets with only the minimum required bypass.
Acceptance criteria
Parent: #310
Goal
Give v1 and v2 independent, explicit delivery paths before the v2 branch is opened for migration work.
Scope
mainand the futurev2branch.release-v1.ymlrelease-v2.ymlmain1.xlatestrelease/v11.xv1v22.xprereleasesnextmain2.xlatestAcceptance criteria
mainandv2.1.xrelease frommainfails before publishing.v2, permits only2.xprereleases, and cannot updatelatest.release/v1route is present before that branch is created.main/latestconfiguration for the v2 workflow is documented and testable.