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
chore(skills): order the smoke test after the changelog, before merging
Swap steps 3 and 4: write the release PR description first, then offer
the optional pkg.pr.new smoke test, which always runs before merging.
Update the pipeline overview, take-over audit order, and step
cross-references to match.
Copy file name to clipboardExpand all lines: .claude/skills/release-manager/SKILL.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,17 +19,17 @@ Run a standard vite-plus release from version bump to published announcement. An
19
19
When given a release PR (URL or number), do not start from step 1. First audit the release's current state, then continue from the earliest unfinished step:
20
20
21
21
- Is the binding version synced? (step 2: `grep -c "'<prev>'" packages/cli/binding/index.cjs` on the release branch)
22
-
- Is the PR description still the `prepare_release` boilerplate, or already a categorized changelog? (step 4)
22
+
- Is the PR description still the `prepare_release` boilerplate, or already a categorized changelog? (step 3)
23
+
- Is a pkg.pr.new build present and for the current head? (step 4)
23
24
- Does `main` have commits the release branch lacks? (`git log origin/release/vX.Y.Z..origin/main`, step 5)
24
25
- What is CI status? (`gh pr checks <PR#>`, step 5)
25
-
- Is a pkg.pr.new build present and for the current head? (step 3)
26
26
27
27
Report the detected state before making changes, so the previous release manager's work is not redone or overwritten.
28
28
29
29
## Pipeline overview
30
30
31
31
1.`Prepare Release` workflow bumps versions and opens the release PR (`release/vX.Y.Z` -> `main`).
32
-
2. Release manager: sync `binding/index.cjs`, write the changelog PR description, get CI green, optionally smoke-test via pkg.pr.new.
32
+
2. Release manager: sync `binding/index.cjs`, write the changelog PR description, optionally smoke-test via pkg.pr.new, get CI green.
33
33
3. Merging the PR pushes a `packages/cli/package.json` change to `main`, which triggers `release.yml`: build, manual approval gate, npm publish, GitHub release, Docker image, Discord notification.
@@ -71,24 +71,7 @@ diff that the post-build no-unexpected-changes guard rejects.
71
71
72
72
This is the only kind of commit that goes directly on the release branch. Everything else goes through `main` (see step 5).
73
73
74
-
## 3. Optional: pkg.pr.new smoke test
75
-
76
-
This step is optional. **Ask the release manager whether to run it** before doing anything here; do not add the label or skip the step on your own. Suggest running it when the release carries risky changes (migrate/create behavior, package-manager or install-path changes, native binding changes).
77
-
78
-
If the release manager says yes:
79
-
80
-
1. Add the `pkg.pr.new` label to the release PR to publish installable `0.0.0-commit.<head-sha>` builds:
2. Wait for the `Publish to pkg.pr.new` workflow run on the release branch to succeed (the pkg-pr-new bot comments install URLs on the PR).
87
-
3. Verify the build against a real project with the `test-pkg-pr-new-migrate` skill: it runs `vp migrate` from the pkg.pr.new commit against a local project, with dependencies resolved through the registry bridge. Report the outcome to the release manager before moving on.
88
-
89
-
The workflow triggers only on the `labeled` event, not on new pushes. To rebuild after the head moves (e.g. after a step 5 merge from `main`), remove and re-add the label (this cancels an in-flight build for the branch). A stale build whose diff to the new head is test-only is still valid for smoke testing; ask before re-triggering.
90
-
91
-
## 4. Write the release PR description
74
+
## 3. Write the release PR description
92
75
93
76
The release tag does not exist yet, so read release files from the PR head branch and generate notes against `main`:
94
77
@@ -174,6 +157,23 @@ echo "$BODY" | grep -c '\\`'
174
157
echo"$BODY"| tail -1 # boilerplate closing line intact
175
158
```
176
159
160
+
## 4. Optional: pkg.pr.new smoke test (before merging)
161
+
162
+
This step is optional and runs **after the changelog (step 3) is complete and before merging (step 6)**. **Ask the release manager whether to run it**; do not add the label or skip the step on your own. Suggest running it when the release carries risky changes (migrate/create behavior, package-manager or install-path changes, native binding changes).
163
+
164
+
If the release manager says yes:
165
+
166
+
1. Add the `pkg.pr.new` label to the release PR to publish installable `0.0.0-commit.<head-sha>` builds:
2. Wait for the `Publish to pkg.pr.new` workflow run on the release branch to succeed (the pkg-pr-new bot comments install URLs on the PR).
173
+
3. Verify the build against a real project with the `test-pkg-pr-new-migrate` skill: it runs `vp migrate` from the pkg.pr.new commit against a local project, with dependencies resolved through the registry bridge. Report the outcome to the release manager before moving on.
174
+
175
+
The workflow triggers only on the `labeled` event, not on new pushes. To rebuild after the head moves (e.g. after a step 5 merge from `main`), remove and re-add the label (this cancels an in-flight build for the branch). A stale build whose diff to the new head is test-only is still valid for smoke testing; ask before re-triggering.
176
+
177
177
## 5. Release-branch CI
178
178
179
179
Fixes for CI failures go through a **separate PR to `main`**, never as commits on the release branch (the binding sync in step 2 is the sole exception). After the fix PR merges:
@@ -182,7 +182,7 @@ Fixes for CI failures go through a **separate PR to `main`**, never as commits o
Then add the fix PR to the changelog (rerun the step 4 validation; the `generate-notes` count grows by one per merged PR).
185
+
Then add the fix PR to the changelog (rerun the step 3 validation; the `generate-notes` count grows by one per merged PR).
186
186
187
187
Known release-branch-only failure modes:
188
188
@@ -207,7 +207,7 @@ Merging the release PR is the release trigger. Before merging confirm: CI green,
207
207
208
208
## 8. Post-release
209
209
210
-
1.**Polish the GitHub release notes**: the auto-created release body lacks the changelog. Merge the release PR body into it with `gh release edit vX.Y.Z --repo voidzero-dev/vite-plus --notes-file ...`: changelog sections first, keep the generated Published Packages and Installation sections and the asset list, drop the `Merging this PR ...` line, and re-run the step 4 validation greps against the release body.
210
+
1.**Polish the GitHub release notes**: the auto-created release body lacks the changelog. Merge the release PR body into it with `gh release edit vX.Y.Z --repo voidzero-dev/vite-plus --notes-file ...`: changelog sections first, keep the generated Published Packages and Installation sections and the asset list, drop the `Merging this PR ...` line, and re-run the step 3 validation greps against the release body.
0 commit comments