relay/.goreleaser.yaml
2022-08-27 21:02:45 -07:00

95 lines
2.8 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:
- 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
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
algorithm: sha256
signs:
- artifacts: checksum
args:
# if you are using this in a GitHub action or some other automated pipeline, you
# need to pass the batch flag to indicate its not interactive.
- "--batch"
- "--local-user"
- "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
- "--output"
- "${signature}"
- "--detach-sign"
- "${artifact}"
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
docker_signs:
- artifacts: all
args: ["sign", "--key=env://COSIGN_PRIVATE_KEY", "${artifact}"]
stdin: '{{ .Env.COSIGN_PASSWORD }}'
snapshot:
name_template: "{{ incpatch .Version }}-dev"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^deployments:'