-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.goreleaser.yml
More file actions
221 lines (189 loc) · 6.04 KB
/
.goreleaser.yml
File metadata and controls
221 lines (189 loc) · 6.04 KB
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
project_name: project
report_sizes: true
env_files:
github_token: ~/.github_token
before:
hooks:
- go mod download
- go mod tidy
- go run github.com/google/wire/cmd/wire@latest ./...
- go run golang.org/x/vuln/cmd/govulncheck@latest -test ./...
- go run github.com/google/osv-scanner/cmd/osv-scanner@latest -r .
- go run github.com/securego/gosec/v2/cmd/gosec@latest -exclude=G204 -quiet ./...
- go run github.com/go-critic/go-critic/cmd/gocritic@latest check -enableAll ./...
- go run github.com/gordonklaus/ineffassign@latest ./...
- go test -race ./...
builds:
-
id: default
env: [ CGO_ENABLED=0 ]
goos: [ linux, windows, darwin ]
goarch: [ amd64, arm64 ]
upx:
-
ids: [ default ]
enabled: true
compress: best
lzma: true
brute: true
goos: [ linux ] # skip windows and darwin (macOS 13.x Ventura is not supported now)
goarch: [ amd64, arm64 ]
release:
ids: [ default ]
draft: true
replace_existing_draft: true
target_commitish: '{{ .Commit }}'
prerelease: auto
mode: replace
header: |
## ✨ The {{ .ProjectName }} `{{ .Tag }}` release
footer: |
## How to update?
For native Go installation (any platforms):
```console
go install github.com/koddr/project@latest
```
For [Homebrew][brew_url] users (GNU/Linux, Apple macOS):
```console
brew upgrade gowebly/tap/project
```
For [Docker][docker_url] users (GNU/Linux only):
```console
docker pull koddr/project:latest
```
For other ways (any platforms): manually download and re-install a ready-made package from the `Assets` section.
> 💡 Note: See the [Complete user guide][project_url] to get a general information.
## Your help to improve project
We would be truly grateful for any help with:
- Creating tests and benchmarks for code;
- Improving existing functions, structs, or tests;
- Feature requests with interesting functions that would be good to add;
- Say a few words about the project on your social networks and blogs (Dev.to, Medium, Хабр, and so on).
Your PRs & issues are welcome! Thanks 😉
<!-- Links -->
[brew_url]: https://brew.sh
[docker_url]: https://www.docker.com
[project_url]: https://github.com/koddr/project
disable: false
skip_upload: false
dockers:
-
id: '{{ .ProjectName }}_amd64'
ids: [ default ]
use: buildx
skip_push: auto
image_templates:
- 'koddr/{{ .ProjectName }}:latest-amd64'
- 'koddr/{{ .ProjectName }}:{{ .Tag }}-amd64'
build_flag_templates:
- '--pull'
- '--label=org.opencontainers.image.created={{ .Date }}'
- '--label=org.opencontainers.image.title={{ .ProjectName }}'
- '--label=org.opencontainers.image.revision={{ .FullCommit }}'
- '--label=org.opencontainers.image.version={{ .Version }}'
- '--platform=linux/amd64'
push_flags:
- '--tls-verify=false'
-
id: '{{ .ProjectName }}_arm64'
ids: [ default ]
use: buildx
skip_push: auto
image_templates:
- 'koddr/{{ .ProjectName }}:latest-arm64'
- 'koddr/{{ .ProjectName }}:{{ .Tag }}-arm64'
build_flag_templates:
- '--pull'
- '--label=org.opencontainers.image.created={{ .Date }}'
- '--label=org.opencontainers.image.title={{ .ProjectName }}'
- '--label=org.opencontainers.image.revision={{ .FullCommit }}'
- '--label=org.opencontainers.image.version={{ .Version }}'
- '--platform=linux/arm64'
push_flags:
- '--tls-verify=false'
docker_manifests:
-
name_template: 'koddr/{{ .ProjectName }}:latest'
skip_push: auto
image_templates:
- 'koddr/{{ .ProjectName }}:latest-amd64'
- 'koddr/{{ .ProjectName }}:latest-arm64'
-
name_template: 'koddr/{{ .ProjectName }}:{{ .Tag }}'
skip_push: auto
image_templates:
- 'koddr/{{ .ProjectName }}:{{ .Tag }}-amd64'
- 'koddr/{{ .ProjectName }}:{{ .Tag }}-arm64'
brews:
-
repository:
owner: koddr
name: homebrew-tap
branch: main
token: '{{ .Env.GITHUB_TOKEN }}'
pull_request:
enabled: true
git:
url: 'git@github.com:koddr/homebrew-tap.git'
private_key: '{{ .Env.BREW_PRIVATE_KEY_PATH }}'
commit_author:
name: Vic Shóstak
email: koddr.me@gmail.com
commit_msg_template: 'Brew formula update for {{ .ProjectName }} version {{ .Tag }}'
folder: Formula
caveats: |
After install:
1. Create a new '.project.yml' config file:
$ project init
2. Edit a config file with your settings and options.
3. Run a generation process to build Docker files to deploy your project:
$ project build
4. Deploy your project by the generated 'docker-compose.yml' file to the remote server (for ex., with the Portainer platform).
💡 Note: See the Complete user guide (https://github.com/koddr/project) to get a general information.
homepage: 'https://github.com/koddr/{{ .ProjectName }}'
description: |
Description of my project.
license: Apache 2.0
skip_upload: false
nfpms:
-
maintainer: Vic Shóstak <koddr.me@gmail.com>
description: |
Description of my project.
homepage: 'https://github.com/koddr/{{ .ProjectName }}'
license: Apache 2.0
formats: [ deb, rpm, apk, archlinux ]
archives:
-
format_overrides:
- goos: windows
format: zip
files: [ LICENSE, README.md ]
checksum:
name_template: 'checksums.txt'
changelog:
sort: asc
abbrev: -1
filters:
exclude: [ '^*.md', '^*.ya?ml' ]
groups:
- title: New features
regexp: ^.*?((A|a)dd)|((F|f)eature).*?$
order: 0
- title: Bug fixes
regexp: ^.*?((B|b)ug)|((F|f)ix).*?$
order: 1
- title: Improvements
regexp: ^.*?(I|i)mprove.*?$
order: 2
- title: Updates
regexp: ^.*?(U|u)pdate.*?$
order: 3
- title: Security issues
regexp: ^.*?(S|s)ecurity.*?$
order: 4
- title: Delete unused or stale
regexp: ^.*?((D|d)elete)|((U|u)nused)|((S|s)tale).*?$
order: 5
- title: Others
order: 999