-
Notifications
You must be signed in to change notification settings - Fork 16
/
.goreleaser.yml
98 lines (89 loc) · 2.22 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
project_name: streamingfast-client
env_files:
github_token: ~/.config/goreleaser/github_token
release:
github:
owner: streamingfast
name: streamingfast-client
draft: true
name_template: '{{.Tag}}'
extra_files:
- glob: ./release/**/*
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
builds:
- id: sf
binary: sf
main: ./cmd/sf
env:
- CGO_ENABLED=0
goos:
- linux
- windows
goarch:
- amd64
- id: sf-osx
binary: sf
main: ./cmd/sf
env:
- CGO_ENABLED=0
goos:
- darwin
goarch:
- amd64
hooks:
post:
- gon gon.sign.hcl
archives:
- replacements:
darwin: macOS
linux: linux
386: i386
amd64: x86_64
format_overrides:
- goos: darwin
format: zip
files:
- LICENSE
- README.md
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
signs:
- id: gpg
artifacts: checksum
args: [
"--pinentry-mode", "loopback",
"--passphrase", "{{ .Env.GPG_PASSPHRASE }}",
"-u", "{{ .Env.GPG_FINGERPRINT }}",
"--output", "${signature}",
"--detach-sign", "${artifact}",
]
# Disabling notarization because I was unable to make it fit in the Goreleaser flow. Works greate
# until the GitHub release is uploaded at which point it complains about `${artifact}.zip` (which resolves
# to `dist/checksums.txt.zip`) does not exists, which is true.
#
# See https://github.com/goreleaser/goreleaser/discussions/2102
#
# - id: notarize
# artifacts: all
# signature: "${artifact}.zip"
# ids:
# - sf-osx
# cmd: sh
# args:
# - -c
# - |
# # The Gon notarization process has no way to inject it the right final versionned packaged
# # name to notarize. So, from this "inline" script we move the package to a known file location,
# # notarize it and then we move it back to its correct location.
# #
# # Don't try to use Bash variables, it doesn't work properly (Goreleaser replaces them up-front)
# mv "dist/{{ .ProjectName }}_{{ .Version }}_macOS_x86_64.zip" dist/osx-package.zip
# gon gon.notarize.hcl
# mv dist/osx-package.zip dist/"{{ .ProjectName }}_{{ .Version }}_macOS_x86_64.zip"