-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.goreleaser.yml
179 lines (165 loc) · 5.25 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
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
project_name: jobman
before:
hooks:
- go mod tidy
- make gen-manpage gen-completions
signs:
- cmd: gpg
args:
- --output
- $signature
- --detach-sig
- $artifact
signature: ${artifact}.sig
artifacts: none
changelog:
sort: asc
filters:
exclude:
- '^assets:'
- '^devel:'
- '^docs:'
- '^formula:'
- '^site:'
- '^tests:'
snapshot:
name_template: SNAPSHOT-{{ .Commit }}
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_checksums.txt'
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- '386'
- arm64
ignore:
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
main: ./main.go
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
binary: '{{ .ProjectName }}'
archives:
- name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
files:
- LICENSE
- etc/jobman/jobman.yml
- docs/manpage/jobman.*
- docs/completions/**/jobman
nfpms:
- maintainer: ryancswallace <ryancswallace@gmail.com>
description: "A command line job manager with flexible support for retries, timeouts, logging, notifications, and more."
homepage: "https://github.com/ryancswallace/jobman"
license: "MIT"
formats:
- deb
- rpm
- apk
replacements:
darwin: Darwin
linux: Linux
contents:
- src: etc/jobman/jobman.yml
dst: /etc/jobman/jobman.yml
type: config
- src: docs/manpage/jobman*.1
dst: /usr/share/man/man1
- src: docs/completions/bash/jobman
dst: /usr/share/bash-completion/completions/jobman
- src: docs/completions/zsh/_jobman
dst: /usr/share/zsh/vendor-completions/_jobman
brews:
- tap:
owner: ryancswallace
name: jobman
name: jobman
description: "A command line job manager with flexible support for retries, timeouts, logging, notifications, and more."
homepage: "https://github.com/ryancswallace/jobman"
license: "MIT"
folder: formula
commit_author:
name: Ryan Wallace
email: ryancswallace@gmail.com
install: |
bin.install "jobman"
man1.install Dir["docs/manpage/jobman.1"]
bash_completion.install "docs/completions/bash/jobman"
zsh_completion.install "docs/completions/zsh/jobman"
test: |
system "#{bin/jobman}"
dockers:
- image_templates: ["ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-amd64"]
goos: linux
goarch: amd64
dockerfile: Dockerfile
use: buildx
build_flag_templates:
- --platform=linux/amd64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://ryancswallace.github.io/{{ .ProjectName }}
- --label=org.opencontainers.image.source=https://github.com/ryancswallace/{{ .ProjectName }}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
- image_templates: ["ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-i386"]
goos: linux
goarch: 386
dockerfile: Dockerfile
use: buildx
build_flag_templates:
- --platform=linux/i386
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://ryancswallace.github.io/{{ .ProjectName }}
- --label=org.opencontainers.image.source=https://github.com/ryancswallace/{{ .ProjectName }}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
docker_manifests:
- name_template: ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}
image_templates:
- ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-i386
- name_template: ghcr.io/ryancswallace/{{ .ProjectName }}:latest
image_templates:
- ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/ryancswallace/{{ .ProjectName }}:{{ .Version }}-i386
release:
github:
owner: ryancswallace
name: jobman
draft: true
replace_existing_draft: true
mode: append
prerelease: auto
discussion_category_name: General
extra_files:
- glob: ./etc/jobman/jobman.yml
- glob: ./docs/manpage/jobman*.1
header: |
## Features
List of newly introduced features:
- Item 1
- Item 2
## Bug fixes
List of fixed issues:
- Item 1
- Item 2
footer: |
## Reference
Read more on the [jobman documentation site](https://ryancswallace.github.io/jobman) and [jobman page](https://pkg.go.dev/github.com/ryancswallace/jobman) in the Golang reference.