This document describes the release process for loopd.
- GitHub Repository:
stuffbucket/loopd(this repo) - Homebrew Tap Repository:
stuffbucket/homebrew-tap(must be created separately) - GitHub Personal Access Token: With
reposcope for the homebrew-tap repo
Create a new repository at github.com/stuffbucket/homebrew-tap:
# Create the repo on GitHub first, then:
git clone git@github.com-stuffbucket:stuffbucket/homebrew-tap.git
cd homebrew-tap
mkdir Formula
touch README.md
git add .
git commit -m "Initial homebrew tap setup"
git push -u origin mainIn the stuffbucket/loopd repository settings, add the following secret:
- Name:
HOMEBREW_TAP_TOKEN - Value: A GitHub Personal Access Token with
reposcope that can push tostuffbucket/homebrew-tap
-
Tag the release:
git tag -a v0.1.0 -m "Release v0.1.0" git push stuffbucket v0.1.0 -
GoReleaser runs automatically via GitHub Actions when the tag is pushed
-
What happens:
- Builds binaries for Linux, macOS, and Windows (amd64 and arm64)
- Creates GitHub release with archives and checksums
- Updates the Homebrew formula in
stuffbucket/homebrew-tap
Once released, users can install with:
brew tap stuffbucket/tap
brew install loopdOr in one command:
brew install stuffbucket/tap/loopdTest the GoReleaser configuration locally:
# Dry run (no publishing)
goreleaser release --snapshot --clean
# Check generated archives
ls dist/We follow Semantic Versioning:
- MAJOR: Breaking changes to CLI interface or behavior
- MINOR: New features, backward compatible
- PATCH: Bug fixes, backward compatible
Pre-release versions: v0.1.0-alpha.1, v0.1.0-beta.1, v0.1.0-rc.1