generated from MacroPower/go_template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.goreleaser.yaml
113 lines (106 loc) · 4.31 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
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
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
version: 2
project_name: kclipper
env:
- DOCKER_REGISTRY=ghcr.io/macropower
before:
hooks:
- go mod tidy
# https://github.com/goreleaser/example-zig-cgo/
builds:
- id: kclipper
main: ./cmd/kclipper
binary: kcl
goos:
- linux
- darwin
goarch:
- amd64
- arm64
env:
- CGO_ENABLED=1
- |
{{- if and (eq .Os "linux") (eq .Arch "amd64") -}} CC={{ .Env.CC_LINUX_AMD64 }} {{- end -}}
{{- if and (eq .Os "linux") (eq .Arch "arm64") -}} CC={{ .Env.CC_LINUX_ARM64 }} {{- end -}}
{{- if and (eq .Os "darwin") (eq .Arch "amd64") -}} CC={{ .Env.CC_DARWIN_AMD64 }} {{- end -}}
{{- if and (eq .Os "darwin") (eq .Arch "arm64") -}} CC={{ .Env.CC_DARWIN_ARM64 }} {{- end -}}
- |
{{- if and (eq .Os "linux") (eq .Arch "amd64") -}} CXX={{ .Env.CXX_LINUX_AMD64 }} {{- end -}}
{{- if and (eq .Os "linux") (eq .Arch "arm64") -}} CXX={{ .Env.CXX_LINUX_ARM64 }} {{- end -}}
{{- if and (eq .Os "darwin") (eq .Arch "amd64") -}} CXX={{ .Env.CXX_DARWIN_AMD64 }} {{- end -}}
{{- if and (eq .Os "darwin") (eq .Arch "arm64") -}} CXX={{ .Env.CXX_DARWIN_ARM64 }} {{- end -}}
ldflags:
- -s -w
- -X github.com/MacroPower/kclipper/internal/version.Version={{.Version}}
- -X github.com/MacroPower/kclipper/internal/version.Branch={{.Branch}}
- -X github.com/MacroPower/kclipper/internal/version.BuildUser={{.Env.USER}}@{{.Env.HOSTNAME}}
- -X github.com/MacroPower/kclipper/internal/version.BuildDate={{.Date}}
flags:
- -trimpath
- -tags={{ .Env.BUILD_TAGS }}
buildmode: pie
dockers:
- goos: linux
goarch: amd64
dockerfile: Dockerfile
use: buildx
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-amd64'
build_flag_templates:
- '--platform=linux/amd64'
- '--build-arg=HELM_VERSION={{.Env.HELM_VERSION}}'
- '--label=org.opencontainers.image.title={{ .ProjectName }}'
- '--label=org.opencontainers.image.version={{ .Tag }}'
- '--label=org.opencontainers.image.revision={{ .FullCommit }}'
- '--label=org.opencontainers.image.created={{ .Date }}'
- '--label=org.opencontainers.image.source={{ .GitURL }}'
- goos: linux
goarch: arm64
dockerfile: Dockerfile
use: buildx
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-arm64'
build_flag_templates:
- '--platform=linux/arm64'
- '--build-arg=HELM_VERSION={{.Env.HELM_VERSION}}'
- '--label=org.opencontainers.image.title={{ .ProjectName }}'
- '--label=org.opencontainers.image.version={{ .Tag }}'
- '--label=org.opencontainers.image.revision={{ .FullCommit }}'
- '--label=org.opencontainers.image.created={{ .Date }}'
- '--label=org.opencontainers.image.source={{ .GitURL }}'
docker_manifests:
- name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:latest'
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-amd64'
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-arm64'
- name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}'
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-amd64'
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-arm64'
- name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:v{{ .Major }}'
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-amd64'
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-arm64'
- name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}'
image_templates:
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-amd64'
- '{{ .Env.DOCKER_REGISTRY }}/{{ .ProjectName }}:{{ .Tag }}-arm64'
archives:
- formats: [tar.gz]
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 }}
checksum:
name_template: 'checksums.txt'
snapshot:
version_template: '{{ incpatch .Version }}-next'
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'