-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path.goreleaser.yml
146 lines (141 loc) · 5.14 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
# Copyright 2022 D2iQ, Inc. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
version: 2
project_name: dynamic-credential-provider
changelog:
use: github
groups:
- title: Features
regexp: "^.*feat[(\\w)]*:+.*$"
order: 0
- title: 'Bug fixes'
regexp: "^.*fix[(\\w)]*:+.*$"
order: 1
filters:
exclude:
- '^docs:'
- '^chore:'
- '^build:'
release:
footer: |
### Summary
**Full Changelog**: https://github.com/mesosphere/dynamic-credential-provider/compare/{{ .PreviousTag }}...{{ .Tag }}
builds:
- id: dynamic-credential-provider
dir: ./cmd/dynamic-credential-provider
env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s
- -w
goos:
- linux
goarch:
- amd64
- arm64
mod_timestamp: '{{ .CommitTimestamp }}'
hooks:
pre:
- cmd: make go-generate
env:
- GOOS={{ .Os }}
- GOARCH={{ .Arch }}
- id: static-credential-provider
dir: ./cmd/static-credential-provider
binary: static-credential-provider
env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s
- -w
goos:
- linux
- darwin
goarch:
- amd64
- arm64
mod_timestamp: '{{ .CommitTimestamp }}'
hooks:
pre:
- cmd: make go-generate
env:
- GOOS={{ .Os }}
- GOARCH={{ .Arch }}
upx:
- enabled: "{{ not .IsSnapshot }}"
goos:
- linux
compress: "9"
lzma: true
ids:
- dynamic-credential-provider
- static-credential-provider
archives:
- name_template: '{{ .ProjectName }}_v{{trimprefix .Version "v"}}_{{ .Os }}_{{ .Arch }}'
builds:
- dynamic-credential-provider
- name_template: 'static-credential-provider_v{{trimprefix .Version "v"}}_{{ .Os }}_{{ .Arch }}'
id: static-credential-provider
builds:
- static-credential-provider
dockers:
- image_templates:
# Specify the image tag including `-amd64` suffix if the build is not a snapshot build or is not being built on
# arm64 machine. This allows for using the snapshot image build without the architecture specific suffix
# consistently on local machines, i.e. can always use `ghcr.io/mesosphere/dynamic-credential-provider:v<VERSION>` on the machine the snapshot
# is built on.
#
# For a release build the `-amd64` suffix will always be included and the `docker_manifests` specification below
# will create the final multiplatform manifest to be pushed to the registry.
- 'ghcr.io/mesosphere/dynamic-credential-provider:v{{trimprefix .Version "v"}}{{ if or (not .IsSnapshot) (not (eq .Runtime.Goarch "amd64")) }}-amd64{{ end }}'
use: buildx
dockerfile: Dockerfile
extra_files:
- credential-providers
build_flag_templates:
- "--platform=linux/amd64"
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title=dynamic-credential-provider"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}"
- "--build-arg=GO_VERSION={{.Env.GO_VERSION}}"
- "--build-arg=CLOUD_PROVIDER_GCP_VERSION={{.Env.CLOUD_PROVIDER_GCP_VERSION}}"
- image_templates:
# Specify the image tag including `-amd64v8` suffix if the build is not a snapshot build or is not being built on
# arm64 machine. This allows for using the snapshot image build without the architecture specific suffix
# consistently on local machines, i.e. can always use `ghcr.io/mesosphere/dynamic-credential-provider:v<VERSION>` on the machine the snapshot
# is built on.
#
# For a release build the `-amd64v8` suffix will always be included and the `docker_manifests` specification below
# will create the final multiplatform manifest to be pushed to the registry.
- 'ghcr.io/mesosphere/dynamic-credential-provider:v{{trimprefix .Version "v"}}{{ if or (not .IsSnapshot) (not (eq .Runtime.Goarch "arm64")) }}-arm64v8{{ end }}'
use: buildx
goarch: arm64
dockerfile: Dockerfile
extra_files:
- credential-providers
build_flag_templates:
- "--platform=linux/arm64"
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title=dynamic-credential-provider"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}"
- "--build-arg=GO_VERSION={{.Env.GO_VERSION}}"
- "--build-arg=CLOUD_PROVIDER_GCP_VERSION={{.Env.CLOUD_PROVIDER_GCP_VERSION}}"
docker_manifests:
- name_template: ghcr.io/mesosphere/dynamic-credential-provider:v{{trimprefix .Version "v"}}
image_templates:
- ghcr.io/mesosphere/dynamic-credential-provider:v{{trimprefix .Version "v"}}-amd64
- ghcr.io/mesosphere/dynamic-credential-provider:v{{trimprefix .Version "v"}}-arm64v8
checksum:
name_template: 'checksums.txt'
snapshot:
version_template: "{{ incminor .Tag }}-dev"