Releasing
ClickClack uses GoReleaser v2. The config is .goreleaser.yml; the GitHub Actions publisher is .github/workflows/release.yml.
#Local Smoke Test
pnpm install
goreleaser check
CLICKCLACK_WEB_VERSION="$(git rev-parse --short=12 HEAD)" \
goreleaser release --snapshot --clean
The snapshot build runs pnpm build, then cross-compiles clickclack for:
linux/amd64linux/arm64darwin/amd64darwin/arm64windows/amd64windows/arm64freebsd/amd64freebsd/arm64
It also emits Linux .deb and .rpm packages and sha256sums.txt.
#Publish
Push a semver tag:
git tag v0.1.0
git push origin v0.1.0
The release workflow checks out the tag, installs Go and pnpm, runs pnpm check, sets CLICKCLACK_WEB_VERSION to the checked-out commit, then runs goreleaser release --clean with GITHUB_TOKEN.
Manual release dispatch is available for an existing tag through the release workflow's tag_name input.