-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy path.goreleaser.yml
146 lines (135 loc) · 4.45 KB
/
.goreleaser.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# 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"