Skip to content

feat: add GoReleaser and release workflow for distribution - #17

Merged
timimsms merged 2 commits into
mainfrom
chore/goreleaser-distribution
Jul 15, 2026
Merged

feat: add GoReleaser and release workflow for distribution#17
timimsms merged 2 commits into
mainfrom
chore/goreleaser-distribution

Conversation

@timimsms

Copy link
Copy Markdown
Owner

Summary

Adds automated release pipeline so cu can be distributed via Homebrew and direct download.

  • GoReleaser v2 config (.goreleaser.yml) for cross-platform binary builds
  • GitHub Actions release workflow (.github/workflows/release.yml) triggered on version tags

What this enables

After merge, creating a release is:

git tag v0.1.0
git push origin v0.1.0

This automatically:

  • Builds binaries for Linux (amd64, arm64), macOS (amd64, arm64), Windows (amd64)
  • Creates a GitHub Release with archives and checksums
  • Generates and pushes a Homebrew Cask to timimsms/homebrew-cu

Verified locally

  • goreleaser check passes with no warnings
  • goreleaser build --snapshot --clean builds all 5 platform binaries
  • goreleaser release --snapshot --clean --skip=publish generates archives, checksums, and Homebrew cask

Manual setup required before first release

  1. Create the tap repository: timimsms/homebrew-cu on GitHub (with a Casks/ directory)
  2. Create a PAT with repo scope and add as HOMEBREW_TAP_GITHUB_TOKEN secret on the cu repository
  3. Optionally tag the first release: git tag v0.1.0 && git push origin v0.1.0

Test plan

  • goreleaser check - config valid, no deprecation warnings
  • goreleaser build --snapshot --clean - all 5 binaries build
  • goreleaser release --snapshot --clean --skip=publish - full pipeline works
  • CI passes
  • First real release after merge (manual step)

🤖 Generated with Claude Code

Set up automated release pipeline:
- GoReleaser v2 config for cross-platform builds (Linux, macOS, Windows
  on amd64/arm64)
- GitHub Actions release workflow triggered by version tags (v*)
- Homebrew Cask auto-generation for timimsms/homebrew-cu tap
- Archives with checksums (SHA256)
- Version injection via ldflags

To create a release:
  git tag v0.1.0 && git push origin v0.1.0

Requires HOMEBREW_TAP_GITHUB_TOKEN secret for Homebrew tap updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@timimsms
timimsms merged commit e0bc21d into main Jul 15, 2026
16 checks passed
@timimsms
timimsms deleted the chore/goreleaser-distribution branch July 15, 2026 07:00
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