# GoReleaser configuration for Gas Town (gt) # See https://goreleaser.com for documentation version: 2 before: hooks: # Ensure dependencies are up to date - go mod tidy builds: - id: gt-linux-amd64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=1 goos: - linux goarch: - amd64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} - id: gt-linux-arm64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=1 - CC=aarch64-linux-gnu-gcc - CXX=aarch64-linux-gnu-g++ goos: - linux goarch: - arm64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} - id: gt-darwin-amd64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=1 goos: - darwin goarch: - amd64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} - id: gt-darwin-arm64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=1 goos: - darwin goarch: - arm64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} - id: gt-windows-amd64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=1 - CC=x86_64-w64-mingw32-gcc - CXX=x86_64-w64-mingw32-g++ goos: - windows goarch: - amd64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} - -buildmode=exe - id: gt-freebsd-amd64 main: ./cmd/gt binary: gt env: - CGO_ENABLED=0 goos: - freebsd goarch: - amd64 ldflags: - -s -w - -X github.com/steveyegge/gastown/internal/cmd.Version={{.Version}} - -X github.com/steveyegge/gastown/internal/cmd.Build={{.ShortCommit}} - -X github.com/steveyegge/gastown/internal/cmd.Commit={{.Commit}} - -X github.com/steveyegge/gastown/internal/cmd.Branch={{.Branch}} archives: - id: gt-archive format: tar.gz name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" format_overrides: - goos: windows format: zip files: - LICENSE - README.md checksum: name_template: "checksums.txt" algorithm: sha256 snapshot: version_template: "{{ incpatch .Version }}-next" changelog: sort: asc filters: exclude: - "^docs:" - "^test:" - "^chore:" - "Merge pull request" - "Merge branch" groups: - title: "Features" regexp: '^.*feat(\(\w+\))?:.*$' order: 0 - title: "Bug Fixes" regexp: '^.*fix(\(\w+\))?:.*$' order: 1 - title: "Others" order: 999 release: github: owner: steveyegge name: gastown draft: false prerelease: auto name_template: "v{{.Version}}" header: | ## Gas Town v{{.Version}} Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), and Windows. ### Installation **Homebrew (macOS/Linux):** ```bash brew install gastown ``` **npm (Node.js):** ```bash npm install -g @gastown/gt ``` **Manual Install:** Download the appropriate binary for your platform below, extract it, and place it in your PATH. # Announce the release announce: skip: false