Reference

Releasing `spogo`

Releasing spogo

Always do all steps below (CI + changelog + tag + GitHub release assets). No partial releases.

Shortcut (if you want scripts later): create them to mirror this doc.

Assumptions:

  • Repo: openclaw/spogo
  • Binary: spogo
  • GoReleaser config: .goreleaser.yaml

#0) Prereqs

  • Clean working tree on main.
  • Go toolchain installed (version from go.mod).
  • CI is green.

#1) Verify build is green

./scripts/lint.sh
./scripts/check-coverage.sh 90

Confirm GitHub Actions CI is green for the commit you’re tagging:

gh run list -L 5 --branch main

#2) Update changelog

  • Update CHANGELOG.md for the version you’re releasing.

Example heading:

  • ## 0.1.0 - 2026-01-02

#3) Commit, tag & push

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 --tags

#4) Verify GitHub release artifacts

The tag push triggers .github/workflows/release.yml (GoReleaser). Ensure it completes successfully and the release has assets.

gh run list -L 5 --workflow release.yml
gh release view vX.Y.Z

Ensure GitHub release notes are not empty (mirror the changelog section).

If the workflow needs a rerun:

gh workflow run release.yml -f tag=vX.Y.Z

#Notes

  • GoReleaser publishes binaries for macOS, Linux, and Windows.