-
Notifications
You must be signed in to change notification settings - Fork 55
/
goreleaser.yaml
58 lines (58 loc) · 1.48 KB
/
goreleaser.yaml
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
---
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
archives:
- format: zip
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
before:
hooks:
- go mod download
builds:
- binary: "{{ .ProjectName }}_v{{ .Version }}"
env:
# goreleaser does not work with CGO, it could also complicate usage by users
# in CI/CD systems like Terraform Cloud where they are unable to install
# libraries.
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s -w -X main.version={{ .Version }} -X main.commit={{ .Commit }}
goarch:
- "386"
- amd64
- arm
- arm64
goos:
- darwin
- freebsd
- linux
- windows
ignore:
- goarch: "386"
goos: darwin
mod_timestamp: "{{ .CommitTimestamp }}"
changelog:
skip: true
checksum:
algorithm: sha256
extra_files:
- glob: terraform-registry-manifest.json
name_template: "{{ .ProjectName }}_{{ .Version }}_manifest.json"
name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS"
release:
extra_files:
- glob: terraform-registry-manifest.json
name_template: "{{ .ProjectName }}_{{ .Version }}_manifest.json"
signs:
- artifacts: checksum
args:
# If you are using this in a GitHub action or some other automated pipeline,
# you need to pass the batch flag to indicate its not interactive.
- --batch
- --local-user
- "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
- --output
- ${signature}
- --detach-sign
- ${artifact}