Skip to content

Commit a92a7a5

Browse files
committed
Link the release checklist from the changelog.
1 parent 6c7a9c5 commit a92a7a5

2 files changed

Lines changed: 32 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
All notable changes to this project will be documented in this file.
44

5-
The format is based on [Keep a Changelog](https://keepachangelog.com/).
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/). Release checklist in [deploy.md](docs/specs/deploy.md).
6+
7+
## [0.3.0] - 2026-04-10
8+
9+
- Yet another initial release to test publishing.
610

711
## [0.2.0] - 2026-04-09
812

docs/specs/deploy.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,33 @@ Every release produces three artifact groups under one version and changelog:
1111
| Standalone (macOS, Apple Silicon) | `.dmg` (install) + `.tar.gz` (update) | GitHub Release + Tauri updater |
1212
| Standalone (Linux) | AppImage + `.deb` | GitHub Release + Tauri updater |
1313

14+
## Release checklist
15+
16+
Human-driven steps, in order:
17+
18+
1. **Update dependencies page** — run `node website/scripts/generate-deps.js` and review the diff in `website/src/data/dependencies.json`. Commit if changed.
19+
2. **Finalize changelog** — promote the `[Unreleased]` section in `CHANGELOG.md` to `[X.Y.Z]` with today's date. Write release notes covering both standalone and VSCode changes.
20+
3. **Bump versions** — update `version` in all three places:
21+
- [standalone/src-tauri/tauri.conf.json](../../standalone/src-tauri/tauri.conf.json)
22+
- [vscode-ext/package.json](../../vscode-ext/package.json)
23+
- [lib/package.json](../../lib/package.json)
24+
4. **Commit and tag**`git commit -m "Release vX.Y.Z"` then `git tag vX.Y.Z`.
25+
5. **Push**`git push && git push origin vX.Y.Z`. This triggers CI (Stage 1).
26+
6. **Wait for CI** — monitor the workflow run. VSCode extension publishes automatically.
27+
7. **Run local signing**`./scripts/sign-and-deploy.sh all X.Y.Z`. Plug in the PIV USB key first. The script will:
28+
- Download unsigned CI artifacts
29+
- Sign macOS (will prompt for `APPLE_SIGN_PASS` if not set)
30+
- Sign Windows (will prompt for `EV_SIGN_PIN` if not set)
31+
- Generate Tauri update manifest and copy to `website/public/standalone-latest.json`
32+
- Create the GitHub Release with all signed assets
33+
8. **Deploy website** — commit the updated `website/public/standalone-latest.json` and deploy mouseterm.com so the updater endpoint is live.
34+
9. **Verify the release**
35+
- Check GitHub Release assets are correct
36+
- On a Mac: download the `.dmg`, open it, confirm no Gatekeeper warnings
37+
- On Windows: download the `.exe` installer, confirm no SmartScreen warnings
38+
- Confirm Tauri auto-updater picks up the new version (test from a previous version)
39+
- Confirm VSCode extension is live on Marketplace and OpenVSX
40+
1441
## Versioning
1542

1643
A single version number (`X.Y.Z`) applies to all artifacts. The version lives in three places that must stay in sync:
@@ -248,33 +275,6 @@ Generated by the local script after signing. The script copies it to `website/pu
248275

249276
Note: the update manifest URLs include the version in the *path* (`/v0.1.0/`) but the *filenames* are stable. The manifest itself is served from `mouseterm.com/standalone-latest.json` — Cloudflare Pages analytics tracks every update check.
250277

251-
## Release checklist
252-
253-
Human-driven steps, in order:
254-
255-
1. **Update dependencies page** — run `node website/scripts/generate-deps.js` and review the diff in `website/src/data/dependencies.json`. Commit if changed.
256-
2. **Finalize changelog** — promote the `[Unreleased]` section in `CHANGELOG.md` to `[X.Y.Z]` with today's date. Write release notes covering both standalone and VSCode changes.
257-
3. **Bump versions** — update `version` in all three places:
258-
- [standalone/src-tauri/tauri.conf.json](../../standalone/src-tauri/tauri.conf.json)
259-
- [vscode-ext/package.json](../../vscode-ext/package.json)
260-
- [lib/package.json](../../lib/package.json)
261-
4. **Commit and tag**`git commit -m "Release vX.Y.Z"` then `git tag vX.Y.Z`.
262-
5. **Push**`git push && git push origin vX.Y.Z`. This triggers CI (Stage 1).
263-
6. **Wait for CI** — monitor the workflow run. VSCode extension publishes automatically.
264-
7. **Run local signing**`./scripts/sign-and-deploy.sh all X.Y.Z`. Plug in the PIV USB key first. The script will:
265-
- Download unsigned CI artifacts
266-
- Sign macOS (will prompt for `APPLE_SIGN_PASS` if not set)
267-
- Sign Windows (will prompt for `EV_SIGN_PIN` if not set)
268-
- Generate Tauri update manifest and copy to `website/public/standalone-latest.json`
269-
- Create the GitHub Release with all signed assets
270-
8. **Deploy website** — commit the updated `website/public/standalone-latest.json` and deploy mouseterm.com so the updater endpoint is live.
271-
9. **Verify the release**
272-
- Check GitHub Release assets are correct
273-
- On a Mac: download the `.dmg`, open it, confirm no Gatekeeper warnings
274-
- On Windows: download the `.exe` installer, confirm no SmartScreen warnings
275-
- Confirm Tauri auto-updater picks up the new version (test from a previous version)
276-
- Confirm VSCode extension is live on Marketplace and OpenVSX
277-
278278
## Changelog
279279

280280
A single `CHANGELOG.md` at the repo root, following [Keep a Changelog](https://keepachangelog.com/) format. The `[Unreleased]` section is promoted to `[X.Y.Z]` at release time. The release notes include both standalone and VSCode changes in one entry.

0 commit comments

Comments
 (0)