You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .roo/commands/release.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,32 +82,31 @@ mode: code
82
82
- If the release includes translated README or package-localization updates, include those files in the same PR.
83
83
- Let the release validation workflow and normal PR checks run before merge.
84
84
85
-
11. After the release PR is merged, stop for a release review on the resulting `main` commit.
85
+
11. Once the release PR is open and passing checks, get it approved by a reviewer before proceeding.
86
86
87
-
```bash
88
-
git switch main
89
-
git pull origin main
90
-
REVIEWED_SHA=$(git rev-parse HEAD)
91
-
git rev-parse --short "$REVIEWED_SHA"
92
-
```
93
-
94
-
- Review the merged release state before any publish step.
95
-
- Confirm that `src/package.json`, `CHANGELOG.md`, `src/CHANGELOG.md`, and the Marketplace-facing `README.md` all reflect the intended release.
96
-
- Check that the release PR checks passed and that the merged commit is the one you want to ship.
97
-
- Share that review summary, including `REVIEWED_SHA`, with the user and waitfor explicit confirmation before creating the tag.
98
-
- Do not create the tag or trigger publishing until the user says to proceed.
87
+
- Do not create the tag until the PR has at least one approval — the publish workflow enforces this automatically and will fail if no approved PR is found for the tagged commit.
99
88
100
-
12. Only after explicit confirmation, create the release tag on that reviewed `main` commit:
89
+
12. After the PR is approved, create the release tag on the release branch tip and push it:
101
90
102
91
```bash
103
-
git tag v[version]"$REVIEWED_SHA"
92
+
git tag v[version]
104
93
git push origin v[version]
105
94
```
106
95
107
-
- If `main` advances after the review pause, keep using the pinned `REVIEWED_SHA`for the tag instead of silently tagging a newer commit.
96
+
- Tag the branch tip as-is. Do not rebase or merge additional commits into the release branch before tagging — doing so changes the commit SHA and may pull in unreviewed changes that weren't part of the approval.
97
+
- The publish workflow validates that the tag version matches `src/package.json`.
108
98
109
-
13. The stable publish workflow runs from the `v[version]` tag.
99
+
13. The tag push triggers the stable publish workflow.
110
100
111
-
- Do not create the tag before the release PR is merged.
112
-
- The publish workflow validates that the tag version matches `src/package.json`.
113
-
- Marketplace and Open VSX publishing use the configured CI secrets.
101
+
- The workflow first checks that the tagged commit belongs to an approved PR. If the PR is not yet approved this step fails — approve the PR first, then retrigger by recreating and pushing the tag: `git tag -d v[version] && git push origin :refs/tags/v[version] && git tag v[version] && git push origin v[version]`.
102
+
- Once the approval check passes, the `marketplace-production` environment gate fires and notifies the configured approvers.
103
+
- A human approver must then approve the deployment before the extension is published to VS Code Marketplace and Open VSX.
104
+
105
+
14. After a successful deployment, add the release PR to the merge queue.
106
+
107
+
```bash
108
+
gh pr merge [pr-number] --auto --squash
109
+
```
110
+
111
+
- Do not merge before the deployment succeeds — merging first and then discovering a publish failure leaves `main` ahead of what was actually shipped.
112
+
- The merge queue runs all required checks against the release branch before merging to `main`.
0 commit comments