relay/.goreleaser.yaml
2022-07-26 21:56:55 -07:00

80 lines
2.3 KiB
YAML

# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
before:
hooks:
- make clean
- make stage-static
- go generate ./...
builds:
- main: ./cmd/relay
binary: relay
ldflags:
- -s
- -w
- -extldflags
- -static
- -X main.Commit={{.Commit}}
- -X main.Version={{.Version}}
env:
- CGO_ENABLED=0
goarch:
- amd64
- arm64
goos:
- linux
- darwin
mod_timestamp: "{{ .CommitTimestamp }}"
universal_binaries:
- replace: true
archives:
- replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
dockers:
- use: buildx
goos: linux
goarch: amd64
image_templates:
- "feditools/{{ .ProjectName }}:{{ .Version }}-amd64"
- "feditools/{{ .ProjectName }}:latest-amd64"
build_flag_templates:
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- use: buildx
goos: linux
goarch: arm64
image_templates:
- "feditools/{{ .ProjectName }}:{{ .Version }}-arm64v8"
- "feditools/{{ .ProjectName }}:latest-arm64v8"
build_flag_templates:
- "--platform=linux/arm64/v8"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
docker_manifests:
- name_template: feditools/{{ .ProjectName }}:{{ .Version }}
image_templates:
- feditools/{{ .ProjectName }}:{{ .Version }}-amd64
- feditools/{{ .ProjectName }}:{{ .Version }}-arm64v8
- name_template: feditools/{{ .ProjectName }}:latest
image_templates:
- feditools/{{ .ProjectName }}:latest-amd64
- feditools/{{ .ProjectName }}:latest-arm64v8
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-dev"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^deployments:'