Release Runbook

Also available: Markdown · Plain text

Release Runbook — Gnomad Webcanvas

Version: 0.1.0-alpha.1 (Windows) / 0.1.0-beta.6 (Linux & macOS)
Last updated: June 2026


Overview

Releases are triggered by pushing a version tag (v*). GitHub Actions builds installers and publishes a GitHub Release automatically (no manual publish step).

Platform split (important):

Tag pattern CI builds Channel
v*-alpha* Windows only Windows Alpha
v*-beta* (no alpha) Linux + macOS only Linux/macOS Beta

This keeps Windows Alpha from rebuilding or overwriting Linux/macOS beta artifacts.

From Cursor: ask the agent to release, or run:

npm run release              # full flow: test → tag → CI → publish
npm run release -- --retag   # rebuild after CI fix (same version)

Workflow: .github/workflows/release.yml · Skill: .cursor/skills/release-gnomad-webcanvas/SKILL.md

GitHub Pages (/get/) deploys on every push to main via .github/workflows/deploy-web.yml.


Pre-release checklist

cd 05_apps_and_extensions/gnomad-preview

# Quality gates
npm run lint
npm run test
npx tsc -b --noEmit
npm run build

# Desktop smoke (local — use platform script)
npm run tauri:build:windows   # Windows alpha
npm run tauri:build:linux     # Linux beta
npm run tauri:build:macos     # macOS beta

# Docs current
npm run docs:export

Version bump

Align these files:

File Field Notes
package.json "version" Repo default (currently Windows alpha)
src-tauri/tauri.conf.json "version" Shared shell
src-tauri/tauri.windows.conf.json "version" Windows Alpha
src-tauri/tauri.linux.conf.json "version" Linux Beta
src-tauri/tauri.macos.conf.json "version" macOS Beta
CHANGELOG.md New section header
public/get/index.html Version lines + release URLs

Tag and release

Windows Alpha

git pull origin main
# package.json + tauri.windows.conf.json at 0.1.0-alpha.N
npm run release   # creates v0.1.0-alpha.N → Windows CI only

Linux / macOS Beta

Bump tauri.linux.conf.json and tauri.macos.conf.json (e.g. 0.1.0-beta.7).
Set package.json to the beta version for tagging, or tag manually:

git tag -a v0.1.0-beta.7 -m "Gnomad Webcanvas v0.1.0-beta.7"
git push origin v0.1.0-beta.7

To rebuild the same version after a CI fix:

npm run release -- --retag
Job Artifact
Windows Alpha (v*-alpha*) NSIS .exe
macOS Beta (aarch64 + x86_64) .dmg, .app
Ubuntu Beta (x86_64) .deb, .rpm, AppImage

CI uploads per-target SHA256SUMS-*.txt artifacts.


Post-CI steps

Automated by npm run release. Optional manual smoke test:

  1. Download one artifact per platform from the GitHub Release
  2. Walk docs/QA_CHECKLIST.md on at least one platform
  3. Verify Get page links resolve

Rollback

Scenario Action
Bad tag pushed Delete release + tag; fix; re-tag
Single platform failed Re-run failed job or patch and tag v0.1.1
Windows alpha breaks Linux/macOS Should not happen — alpha tags skip Linux/macOS jobs

Signing secrets (GitHub Actions)

Secret Platform
TAURI_SIGNING_PRIVATE_KEY Updater signatures (all)
TAURI_SIGNING_PRIVATE_KEY_PASSWORD Updater
APPLE_* macOS notarization
WINDOWS_CERTIFICATE Windows code signing (optional)