Skip to main content

Releases

The repository release workflow is triggered by an exact vX.Y.Z tag push. Before artifact work, it checks that the tag commit is reachable from main, validates the Go project, verifies the active language surface, and checks the release helpers and install snippets.

Native artifacts

The release matrix builds five native targets with CGO enabled:

OSArchitectureArchive
Linuxamd64sunset_<version>_linux_amd64.tar.gz
Linuxarm64sunset_<version>_linux_arm64.tar.gz
macOSamd64sunset_<version>_darwin_amd64.tar.gz
macOSarm64sunset_<version>_darwin_arm64.tar.gz
Windowsamd64sunset_<version>_windows_amd64.zip

The artifact set also contains checksums.txt. Release helpers extract an archive, run CLI smoke checks, and verify the public Go consumer path. The release runbook at docs/releasing.md is the maintainer procedure for exact tag binding, approval, public verification, and recovery with a new version.

Version reporting

Release builds inject internal/version.BuildVersion with an ldflag. Local untagged builds report dev; sunset version prints the resolved value. The generated project index records the resolved Sunset version independently from the site metadata.

Documentation deployment

The documentation workflow uses Node 22, validates and builds on pull requests and main pushes, and deploys the built site only from main to the Cloudflare Pages project sunset-docs. It smoke-tests the public site URL after deploy.

See the dedicated Maintainer release guide for the operator checklist and the Maintainer contribution guide for repository checks.