forked from goreleaser/goreleaser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.goreleaser.yml
134 lines (133 loc) · 3.97 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
env:
- GO111MODULE=on
- GOPROXY=https://gocenter.io
before:
hooks:
- go mod download
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- 386
- amd64
- arm
- arm64
mod_timestamp: '{{ .CommitTimestamp }}'
flags:
- -trimpath
ldflags:
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser
checksum:
name_template: '{{ .ProjectName }}_checksums.txt'
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
- Merge pull request
- Merge branch
- go mod tidy
dockers:
- image_templates:
- 'goreleaser/goreleaser:{{ .Tag }}-cgo'
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-cgo'
- 'goreleaser/goreleaser:v{{ .Major }}.{{ .Minor }}-cgo'
- 'ghcr.io/goreleaser/goreleaser:v{{ .Major }}.{{ .Minor }}-cgo'
- 'goreleaser/goreleaser:latest-cgo'
- 'ghcr.io/goreleaser/goreleaser:latest-cgo'
dockerfile: Dockerfile.cgo
binaries:
- goreleaser
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
extra_files:
- scripts/entrypoint.sh
- image_templates:
- 'goreleaser/goreleaser:{{ .Tag }}'
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}'
- 'goreleaser/goreleaser:v{{ .Major }}.{{ .Minor }}'
- 'ghcr.io/goreleaser/goreleaser:v{{ .Major }}.{{ .Minor }}'
- 'goreleaser/goreleaser:latest'
- 'ghcr.io/goreleaser/goreleaser:latest'
dockerfile: Dockerfile
binaries:
- goreleaser
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}"
- "--label=com.github.actions.name={{.ProjectName}}"
- "--label=com.github.actions.description=Deliver Go binaries as fast and easily as possible"
- "--label=com.github.actions.icon=terminal"
- "--label=com.github.actions.color=blue"
- "--label=repository=http://github.com/goreleaser/goreleaser"
- "--label=homepage=http://goreleaser.com"
- "--label=maintainer=Carlos Becker <[email protected]>"
extra_files:
- scripts/entrypoint.sh
archives:
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
brews:
- tap:
owner: goreleaser
name: homebrew-tap
folder: Formula
homepage: https://goreleaser.com
description: Deliver Go binaries as fast and easily as possible
test: |
system "#{bin}/goreleaser -v"
dependencies:
- name: go
scoop:
bucket:
owner: goreleaser
name: scoop-bucket
homepage: https://goreleaser.com
description: Deliver Go binaries as fast and easily as possible
license: MIT
nfpms:
- file_name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
homepage: https://goreleaser.com
description: Deliver Go binaries as fast and easily as possible
maintainer: Carlos Alexandro Becker <[email protected]>
license: MIT
vendor: GoReleaser
formats:
- apk
- deb
- rpm
dependencies:
- git
recommends:
- golang
snapcrafts:
- name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
summary: Deliver Go binaries as fast and easily as possible
description: |
GoReleaser builds Go binaries for several platforms, creates a GitHub
release and then pushes a Homebrew formula to a repository. All that
wrapped in your favorite CI.
grade: stable
confinement: classic
publish: true