Release Runbook
Windows signed NSIS build and GitHub publish commands.
DevStackBox release runbook (Windows)
Single reference for signed NSIS builds and GitHub publish so every release follows the same steps.
Full checklist: Release process
Private signing key: %USERPROFILE%\.tauri\devstackbox.key - never commit.
1. Preflight
From repo root:
pnpm run check
# or: npm run checkBump version in all three (must match):
package.json→"version"src-tauri/Cargo.toml→[package] versionsrc-tauri/tauri.conf.json→"version"
Update CHANGELOG.md before publishing (can draft after local build test).
2. Signed build (canonical)
cd D:\Websites\DevStackBox # your clone
Get-Process light -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue
Remove-Item "src-tauri\target\release\wix" -Recurse -Force -EA SilentlyContinue
Remove-Item "src-tauri\target\release\bundle\msi" -Recurse -Force -EA SilentlyContinue
$env:TAURI_SIGNING_PRIVATE_KEY = (Get-Content "$env:USERPROFILE\.tauri\devstackbox.key" -Raw).Trim()
$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD = ""
pnpm tauri build 2>&1Or: .\scripts\release-build.ps1
Alternative with verify-release preflight:
$env:TAURI_SIGNING_PRIVATE_KEY_PATH = "$env:USERPROFILE\.tauri\devstackbox.key"
npm run build:release3. latest.json (required for auto-update)
.\scripts\make-latest-json.ps1 -Notes "DevStackBox vX.Y.Z - summary for users"
Copy-Item release\latest.json latest.json4. Publish GitHub Release
Upload: .exe, .exe.sig, and latest.json (exact name). Do not mark pre-release.
Release notes: paste the matching section from CHANGELOG.md (Added / Changed / Fixed + installer SHA-256), not a one-line summary:
gh release edit vX.Y.Z --notes-file release\notes-vX.Y.Z.mdOr when creating:
gh release create vX.Y.Z ... --notes-file release\notes-vX.Y.Z.mdSee Release process Step 7–8.
Last updated: October 17, 2026Edit this page