mirror of
https://github.com/jeessy2/ddns-go.git
synced 2025-10-20 07:23:47 +08:00
* chore: snapshot.name_template `snapshot.name_template` should not be used anymore, check https://goreleaser.com/deprecations#snapshotname_template for more info * chore: Use goreleaser to build a docker image * chore: simplify hooks command
147 lines
4.4 KiB
YAML
147 lines
4.4 KiB
YAML
# This is an example goreleaser.yaml file with some sane defaults.
|
|
# Make sure to check the documentation at http://goreleaser.com
|
|
|
|
version: 2
|
|
|
|
before:
|
|
hooks:
|
|
# You may remove this if you don't use go modules.
|
|
- go mod download
|
|
# you may remove this if you don't need go generate
|
|
- go generate ./...
|
|
builds:
|
|
- env:
|
|
- CGO_ENABLED=0
|
|
flags:
|
|
- -trimpath
|
|
goos:
|
|
- android
|
|
- linux
|
|
- windows
|
|
- darwin
|
|
- freebsd
|
|
goarch:
|
|
- '386'
|
|
- amd64
|
|
- arm
|
|
- arm64
|
|
- mips
|
|
- mipsle
|
|
- mips64
|
|
- mips64le
|
|
goarm:
|
|
- '5'
|
|
- '6'
|
|
- '7'
|
|
gomips:
|
|
- hardfloat
|
|
- softfloat
|
|
ignore:
|
|
# we only need the arm64 build on android
|
|
- goos: android
|
|
goarch: arm
|
|
- goos: android
|
|
goarch: '386'
|
|
- goos: android
|
|
goarch: amd64
|
|
ldflags:
|
|
- -s -w -X main.version={{.Tag}} -X main.buildTime={{.Date}}
|
|
hooks:
|
|
post:
|
|
- sh -c 'test -d zoneinfo || cp -r /usr/share/zoneinfo .'
|
|
|
|
archives:
|
|
# use zip for windows archives
|
|
- format_overrides:
|
|
- goos: windows
|
|
format: zip
|
|
# this name template makes the OS and Arch compatible with the results of uname.
|
|
name_template: >-
|
|
{{ .ProjectName }}_
|
|
{{- .Version }}_
|
|
{{- .Os }}_
|
|
{{- if eq .Arch "amd64" }}x86_64
|
|
{{- else if eq .Arch "386" }}i386
|
|
{{- else }}{{ .Arch }}{{ end }}
|
|
{{- if .Mips }}_{{ .Mips }}{{ end }}
|
|
{{- if .Arm }}v{{ .Arm }}{{ end }}
|
|
|
|
checksum:
|
|
name_template: 'checksums.txt'
|
|
snapshot:
|
|
version_template: "{{ incpatch .Version }}-devel"
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- '^docs:'
|
|
- '^test:'
|
|
|
|
dockers:
|
|
- image_templates:
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-amd64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-amd64"
|
|
use: buildx
|
|
extra_files:
|
|
- zoneinfo
|
|
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}}"
|
|
|
|
- image_templates:
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
|
|
use: buildx
|
|
extra_files:
|
|
- zoneinfo
|
|
build_flag_templates:
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
goarch: arm64
|
|
|
|
- image_templates:
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-armv7"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-armv7"
|
|
use: buildx
|
|
extra_files:
|
|
- zoneinfo
|
|
build_flag_templates:
|
|
- "--platform=linux/arm/v7"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
goarch: arm
|
|
goarm: 7
|
|
|
|
docker_manifests:
|
|
- name_template: "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-amd64"
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-armv7"
|
|
|
|
- name_template: "{{ .Env.DOCKER_USERNAME }}/ddns-go:latest"
|
|
image_templates:
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-amd64"
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
|
|
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-armv7"
|
|
|
|
- name_template: "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}"
|
|
image_templates:
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-amd64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-armv7"
|
|
|
|
- name_template: "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:latest"
|
|
image_templates:
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-amd64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
|
|
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-armv7"
|