Skip to content

Commit 0e57ebc

Browse files
committed
Update release skill with workflow improvements
1 parent 1f4050c commit 0e57ebc

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

.github/skills/toolkit-release/SKILL.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,22 @@ Run after a regular release ships to start the next development cycle.
4040
Release a new beta to the VS Code Marketplace as a pre-release.
4141

4242
1. Read current version from `package.json` — this is the version to release (already set by Workflow 1 or a previous beta bump)
43-
2. Push: `git push origin main` (confirm with user first)
44-
3. Generate release notes from git log since last beta/release tag — see [release-notes-template.md](references/release-notes-template.md)
45-
4. Create GitHub release:
43+
2. Ask the user for the target Dev Proxy version (e.g., "v2.2.0"). They know which Dev Proxy release this beta targets.
44+
3. Push: `git push origin main` (confirm with user first)
45+
4. Generate release notes from git log since last beta/release tag — see [release-notes-template.md](references/release-notes-template.md)
46+
5. Create GitHub release:
4647
- Tag: `vX.Y.Z-beta` (e.g., `v1.13.0-beta` for first beta, `v1.13.2-beta` for subsequent)
4748
- Title: `vX.Y.Z-beta`
4849
- Mark as **pre-release**
4950
- Body: generated release notes
50-
5. Determine target Dev Proxy version from https://github.com/dotnet/dev-proxy/releases
51+
- **Important**: Write release notes to a temp file and use `gh release create --notes-file <file>`. Do NOT use inline `--notes` — multi-line content gets garbled by the terminal.
5152
6. Create or move `devproxy-vX.Y.Z` tag to this commit:
52-
- First beta in cycle: `git tag devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z`
53-
- Subsequent beta: `git tag -f devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z --force`
53+
- First beta in cycle: `git tag -m "Dev Proxy vX.Y.Z" devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z`
54+
- Subsequent beta: `git tag -f -m "Dev Proxy vX.Y.Z" devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z --force`
5455
7. Bump version for next beta: `npm version patch --no-git-tag-version` (e.g., 1.13.0 → 1.13.1)
5556
8. Commit: `git add package.json package-lock.json && git commit -m "Increment version to vX.Y.Z"`
5657
9. Push: `git push origin main` (confirm with user first)
58+
10. Clean up any temp files created during the workflow (e.g., release notes temp file)
5759

5860
## Workflow 3: Prepare Regular Release
5961

@@ -77,7 +79,7 @@ Create the stable GitHub release after preparing.
7779
- **Not** marked as pre-release
7880
- Body: cumulative release notes
7981
3. Move `devproxy-vX.Y.Z` tag to the release commit:
80-
- `git tag -f devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z --force`
82+
- `git tag -f -m "Dev Proxy vX.Y.Z" devproxy-vX.Y.Z && git push origin devproxy-vX.Y.Z --force`
8183

8284
## During Development
8385

@@ -111,5 +113,7 @@ Verify locally: `npm run compile && npm test`
111113
- Do not modify files other than those listed above during release workflows
112114
- Always confirm with the user before pushing to remote or creating GitHub releases
113115
- Beta release notes are incremental (since last beta), regular release notes are cumulative (full cycle)
114-
- The `devproxy-vX.Y.Z` tag version comes from https://github.com/dotnet/dev-proxy/releases
116+
- The `devproxy-vX.Y.Z` tag version comes from the user — ask them, don't guess
115117
- Do not bypass CI checks or use `--no-verify`
118+
- Always use `--notes-file` (not `--notes`) when creating GitHub releases with `gh release create`
119+
- Always use `-m "message"` when creating git tags — bare `git tag <name>` opens an editor and fails in automation

0 commit comments

Comments
 (0)