| summary | Release checklist for workit (GitHub release + installer smoke test) |
|---|
Always do all steps below (CI + changelog + tag + GitHub release artifacts + installer sanity install). No partial releases.
Shortcut scripts (preferred, keep notes non-empty):
scripts/release.sh X.Y.Z
scripts/verify-release.sh X.Y.ZAssumptions:
- Repo:
automagik-dev/workit - Installer script:
scripts/install.sh
Use a dev -> main promotion flow:
- Feature work merges into
dev. mainis release-only and receives tested merges fromdev.- Protect both branches with required checks.
Recommended required checks:
ci / testci / workerci / darwin-cgo-buildversion / version-artifact
version / version-artifact enforces the version artifact contract (version, branch, commit, date) and uploads version-contract JSON.
- Clean working tree on
main. - Go toolchain installed (Go version comes from
go.mod). makeworks locally.
make ciConfirm GitHub Actions ci and version are green for the commit you’re tagging:
gh run list -L 5 --branch main --workflow ci.yml
gh run list -L 5 --branch main --workflow version.yml- Update
CHANGELOG.mdfor the version you’re releasing.
Example heading:
## 0.1.0 - 2025-12-12
git checkout main
git pull
# commit changelog + any release tweaks
git commit -am "release: vX.Y.Z"
git tag -a vX.Y.Z -m "Release X.Y.Z"
git push origin main --tagsThe tag push triggers .github/workflows/release.yml (GoReleaser + changelog-derived release notes). Ensure it completes successfully and the release has assets.
gh run list -L 5 --workflow release.yml
gh release view vX.Y.ZEnsure GitHub release notes are not empty and match the matching changelog section.
If the workflow needs a rerun:
gh workflow run release.yml -f tag=vX.Y.Zcurl -fsSL https://raw.githubusercontent.com/automagik-dev/workit/main/scripts/install.sh | bash
wk --version
wk update
wk --help
wk version --jsonwk --version/wk versionshould report version + branch/commit/date metadata post-install.