Skip to content

Add release builds with GoReleaser - #3

Merged
jinxi97 merged 2 commits into
mainfrom
jinxi97/funky-cli-discrepancy-fix-v2
Oct 29, 2026
Merged

jinxi97 merged 2 commits into
mainfrom
jinxi97/funky-cli-discrepancy-fix-v2

Conversation

@jinxi97

@jinxi97 jinxi97 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

What

Makes the CLI installable by everyone:

  • GitHub Releases: pushing a vX.Y.Z tag runs .github/workflows/release.yml. That runs the tests, then GoReleaser builds static binaries for macOS, Linux and Windows on amd64 and arm64, and publishes them with checksums.txt and a changelog. Archive names carry no version (funky_darwin_arm64.tar.gz), so releases/latest/download/… URLs stay stable for an install script later. Tags with a suffix (v0.2.0-rc.1) become pre-releases.
  • go install: main moves to cmd/funky, so go install github.com/funkyhq/cli/cmd/funky@latest installs funky rather than cli.
  • funky --version: shows the release version, the module version for go install builds, or dev.
  • CI (ci.yml): go vet, go test -race, and a goreleaser release --snapshot build on every PR, so a broken release config shows up before a tag is pushed.

npm (@funkyhq/cli) follows in a separate PR, built from these release binaries.

Testing

  • goreleaser check and goreleaser release --snapshot --clean (v2.19.0) locally: 6 archives and checksums; the extracted darwin/arm64 binary prints funky version 0.0.0-SNAPSHOT-ea21a92.
  • go vet ./... and go test -race ./... pass.
  • go install ./cmd/funky produces a funky binary.

🤖 Generated with Claude Code

jinxi97 and others added 2 commits October 29, 2026 10:07
Tagging vX.Y.Z now publishes a GitHub release with binaries for macOS,
Linux and Windows (amd64/arm64) plus checksums, and updates a Homebrew
cask in funkyhq/homebrew-tap once HOMEBREW_TAP_TOKEN is set.

- main moves to cmd/funky, so `go install .../cmd/funky@latest`
  installs a `funky` binary instead of `cli`.
- `funky --version` reports the release version, the module version for
  `go install`, or "dev".
- CI runs vet and tests and a snapshot release build on every PR.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@jinxi97
jinxi97 merged commit 5ddf84b into main Oct 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant