# Goreleaser config for cross-platform cacher builds.
#
# Invoked from .builds/publish.yml as `goreleaser release --clean --skip=publish`
# on tag pushes — we only want the binaries + checksums, not a GitHub
# release (we publish to pages.sr.ht and the build artifacts list).
version: 2
project_name: cacher
before:
hooks:
- go mod tidy
builds:
- id: cacher
main: .
binary: cacher
env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s -w
- -X go.bigb.es/cacher/internal/version.version={{ .Version }}
goos: [linux, darwin]
goarch: [amd64, arm64]
archives:
# Ship raw binaries rather than tarballs so the wget URL
# `…/cacher-linux-amd64` works directly. The {{ .Version }} prefix lives
# in the goreleaser dist/ filenames but we strip it when copying into
# the pages tree (see .builds/publish.yml).
- id: binary
formats: [binary]
name_template: "cacher_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
checksum:
name_template: "checksums.txt"
algorithm: sha256
snapshot:
version_template: "{{ .Tag }}-snapshot"
changelog:
# We maintain CHANGELOG.md by hand. Don't autogenerate from git log.
disable: true
release:
# We publish via pages.sr.ht + build artifacts; there's no GitHub repo to
# release to. `goreleaser release --skip=publish` already inhibits the
# release step, but disabling here keeps `goreleaser check` happy.
disable: true