This runbook is the canonical release path for tailstick.
- Cut a semver tag (
vX.Y.Z) - Push tag to trigger GitHub Actions release workflow
- Verify release artifacts and checks
gh auth statusreturns a logged-in maintainer- local branch is up to date with
origin/main - no uncommitted changes
- Validate code quality:
go test ./...
go vet ./...
make icons
go build ./cmd/tailstick-linux-cli ./cmd/tailstick-linux-gui ./cmd/tailstick-windows-cli ./cmd/tailstick-windows-gui
make sandbox-linux- Confirm version intent:
internal/app/cli.goVersionconstant matches release target.
- Confirm release workflow exists:
.github/workflows/release.ymltriggers onv*tags.
Assume target version is v1.0.0:
git checkout main
git pull --ff-only origin main
git tag v1.0.0
git push origin main
git push origin v1.0.0Tag push triggers the release workflow which builds and uploads:
tailstick-cli-linux-amd64tailstick-gui-linux-amd64tailstick-cli-linux-arm64tailstick-gui-linux-arm64tailstick-cli-windows-amd64.exetailstick-gui-windows-amd64.exetailstick-cli-windows-arm64.exetailstick-gui-windows-arm64.exe
- Monitor workflow:
gh run list -R Microck/tailstick --workflow release.yml --limit 5
gh run watch -R Microck/tailstick <run-id> --exit-status- Verify release entry and assets:
gh release view v1.0.0 -R Microck/tailstick
gh release view v1.0.0 -R Microck/tailstick --json assets,url- Optional post-release smoke:
- Download one Linux and one Windows binary and verify basic execution (
tailstick version).
If release workflow fails before artifacts are correct:
- Fix issue on
main. - Delete remote/local tag.
- Recreate and push corrected tag.
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
git tag v1.0.0
git push origin v1.0.0