Release Runbook
Use one command for the product proof.
scripts/release-check.shThat command is the local gate. It checks Go, the site, the installer, the release manifest, and smoke coverage. Add to the script when the release train gains a new rail.
Product release
- Start from a clean branch.
- Run
scripts/release-check.sh. - Add the
vX.Y.Zsection todocs/RELEASE_NOTES.md. - Check the notes body:
scripts/release-notes.sh vX.Y.Z. - Tag the release.
- Let GitHub Actions build archives for supported platforms.
- Check the GitHub release body for real blank lines, not literal
\n. - Publish the product release manifest and archives to
downloads.glade.sh. - Check a fresh install with temporary
GLADE_INSTALL_DIRandGLADE_HOME. - Check a pinned install with
GLADE_VERSION=vX.Y.Z. - Check an update from the prior release.
Use this shape when setting installer environment variables:
curl -fsSL https://glade.sh/install.sh | env GLADE_INSTALL_DIR="$tmp/bin" GLADE_HOME="$tmp/home" shPutting GLADE_* before curl sets it only for curl; the installer runs on the right side of the pipe.
Plugin release
Cut first-party plugin archives from glade-tools. Keep plugin artifacts on the plugin registry lane. Keep product release assets on the product download lane.
go run ./cmd/glade-plugin-compat manifest --json
scripts/build-plugin-archives.sh 0.1.0Run the tools release check before cutting a coordinated plugin tag:
(cd ../glade-tools && scripts/release-check.sh)Publish plugin archives and index.json to plugins.glade.sh, then check:
curl -fsSL https://plugins.glade.sh/index.json
GLADE_HOME="$(mktemp -d)" GLADE_PLUGIN_REGISTRY_URL="https://plugins.glade.sh/index.json" glade plugins availableDocs release
The docs site is the single public docs surface. User docs live under /guide/.... Maintainer docs live under /maintainer/....