generated from kubernetes/kubernetes-template-project
-
Notifications
You must be signed in to change notification settings - Fork 11
/
.goreleaser.yaml
50 lines (47 loc) · 1.34 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
# https://goreleaser.com/
#
# For local testing, use:
#
# goreleaser release --snapshot --clean
project_name: gwctl
before:
hooks:
# Ensure the project builds successfully before release.
- make build
# Refer https://goreleaser.com/customization/builds/ for all available options.
builds:
- id: gwctl # Build ID for reference.
main: ./main.go
binary: gwctl # Binary name.
env:
- CGO_ENABLED=0 # Disable CGO for broader compatibility.
goos:
- linux
- darwin
- windows
goarch:
- 386
- amd64
- arm64
ldflags:
# Reduce the size of the binary. Ref: https://pkg.go.dev/cmd/link
- -s -w
# Embed versioning and build information in the binary.
- -X sigs.k8s.io/gwctl/pkg/version.version={{.Version}}
- -X sigs.k8s.io/gwctl/pkg/version.gitCommit={{.FullCommit}}
- -X sigs.k8s.io/gwctl/pkg/version.buildDate={{.Date}}
archives:
- format: tar.gz
# This name template makes the OS and Arch compatible with the results of
# uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
# Use zip for windows archives
format_overrides:
- goos: windows
format: zip