Skip to content

Commit 5f9e252

Browse files
committed
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.
1 parent 4dde8d0 commit 5f9e252

1 file changed

Lines changed: 23 additions & 23 deletions

File tree

.claude/skills/release-manager/SKILL.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ Run a standard vite-plus release from version bump to published announcement. An
1919
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:
2020

2121
- 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)
2324
- Does `main` have commits the release branch lacks? (`git log origin/release/vX.Y.Z..origin/main`, step 5)
2425
- 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)
2626

2727
Report the detected state before making changes, so the previous release manager's work is not redone or overwritten.
2828

2929
## Pipeline overview
3030

3131
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.
3333
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.
3434
4. Release manager: polish the GitHub release notes, verify installs, announce.
3535

@@ -71,24 +71,7 @@ diff that the post-build no-unexpected-changes guard rejects.
7171

7272
This is the only kind of commit that goes directly on the release branch. Everything else goes through `main` (see step 5).
7373

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:
81-
82-
```bash
83-
gh pr edit <PR#> --repo voidzero-dev/vite-plus --add-label "pkg.pr.new"
84-
```
85-
86-
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
9275

9376
The release tag does not exist yet, so read release files from the PR head branch and generate notes against `main`:
9477

@@ -174,6 +157,23 @@ echo "$BODY" | grep -c '\\`'
174157
echo "$BODY" | tail -1 # boilerplate closing line intact
175158
```
176159

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:
167+
168+
```bash
169+
gh pr edit <PR#> --repo voidzero-dev/vite-plus --add-label "pkg.pr.new"
170+
```
171+
172+
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+
177177
## 5. Release-branch CI
178178

179179
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
182182
git checkout release/vX.Y.Z && git merge origin/main --no-edit && git push origin release/vX.Y.Z
183183
```
184184

185-
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).
186186

187187
Known release-branch-only failure modes:
188188

@@ -207,7 +207,7 @@ Merging the release PR is the release trigger. Before merging confirm: CI green,
207207

208208
## 8. Post-release
209209

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.
211211
2. **Verify**:
212212
```bash
213213
npm view vite-plus version # X.Y.Z

0 commit comments

Comments
 (0)