Skip to content

Commit a817841

Browse files
authored
dev: update goreleaser configuration (#6155)
1 parent 4d2276d commit a817841

File tree

4 files changed

+59
-116
lines changed

4 files changed

+59
-116
lines changed

.github/workflows/release.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,10 @@ jobs:
7676
CHOCOLATEY_API_KEY: ${{ secrets.CHOCOLATEY_API_KEY }}
7777
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
7878
GITHUB_TOKEN: ${{ secrets.GOLANGCI_LINT_TOKEN }}
79+
80+
- uses: actions/attest-build-provenance@v3
81+
with:
82+
subject-checksums: ./dist/golangci-lint-*-checksums.txt
83+
- uses: actions/attest-build-provenance@v3
84+
with:
85+
subject-checksums: ./dist/digests.txt

.goreleaser.yml

Lines changed: 46 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ builds:
3636
ignore:
3737
- goos: darwin
3838
goarch: 386
39+
# Deprecated in go1.25, Removed in go1.26
40+
# https://go.dev/doc/go1.25#windows
41+
- goos: windows
42+
goarch: arm
3943

4044
archives:
4145
- formats: [ 'tar.gz' ]
@@ -112,6 +116,9 @@ brews:
112116
test: |
113117
system "#{bin}/golangci-lint --version"
114118
119+
## chocolatey is disabled because mono has been removed from GitHub Actions runners due to security and maintenance concerns.
120+
## The release is done manually and locally, with goreleaser after the release of the other elements.
121+
## Note(ldez): add documentation about how to do it.
115122
#chocolateys:
116123
# - summary: Fast linters Runner for Go
117124
# description: |
@@ -218,121 +225,46 @@ nfpms:
218225
rpm:
219226
group: Development/Tools
220227

221-
docker_manifests:
222-
# basic
223-
- name_template: 'golangci/golangci-lint:latest'
224-
image_templates:
225-
- 'golangci/golangci-lint:{{ .Tag }}-amd64'
226-
- 'golangci/golangci-lint:{{ .Tag }}-arm64'
227-
228-
- name_template: 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}'
229-
image_templates:
230-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-amd64'
231-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-arm64'
232-
233-
- name_template: 'golangci/golangci-lint:{{ .Tag }}'
234-
image_templates:
235-
- 'golangci/golangci-lint:{{ .Tag }}-amd64'
236-
- 'golangci/golangci-lint:{{ .Tag }}-arm64'
237-
238-
# alpine
239-
- name_template: 'golangci/golangci-lint:latest-alpine'
240-
image_templates:
241-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64'
242-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64'
243-
244-
- name_template: 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine'
245-
image_templates:
246-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-amd64'
247-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-arm64'
248-
249-
- name_template: 'golangci/golangci-lint:{{ .Tag }}-alpine'
250-
image_templates:
251-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64'
252-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64'
253-
254-
dockers:
255-
- use: buildx
256-
skip_push: false
257-
goos: linux
258-
goarch: amd64
228+
dockers_v2:
229+
- id: golangci-lint
230+
images:
231+
- 'golangci/golangci-lint'
259232
dockerfile: build/buildx.Dockerfile
260-
image_templates:
261-
- 'golangci/golangci-lint:latest-amd64'
262-
- 'golangci/golangci-lint:{{ .Tag }}-amd64'
263-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-amd64'
264-
build_flag_templates:
265-
- '--pull'
233+
platforms:
234+
- linux/amd64
235+
- linux/arm64
236+
tags:
237+
- 'latest'
238+
- '{{ .Tag }}'
239+
- 'v{{ .Major }}.{{ .Minor }}'
240+
labels:
266241
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
267-
- '--label=org.opencontainers.image.title={{.ProjectName}}'
268-
- '--label=org.opencontainers.image.description=Fast linters Runner for Go'
269-
- '--label=org.opencontainers.image.source={{.GitURL}}'
270-
- '--label=org.opencontainers.image.url={{.GitURL}}'
271-
- '--label=org.opencontainers.image.documentation=https://golangci-lint.run'
272-
- '--label=org.opencontainers.image.created={{.Date}}'
273-
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
274-
- '--label=org.opencontainers.image.version={{.Version}}'
275-
- '--platform=linux/amd64'
276-
277-
- use: buildx
278-
goos: linux
279-
goarch: arm64
280-
dockerfile: build/buildx.Dockerfile
281-
image_templates:
282-
- 'golangci/golangci-lint:latest-arm64'
283-
- 'golangci/golangci-lint:{{ .Tag }}-arm64'
284-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-arm64'
285-
build_flag_templates:
286-
- '--pull'
287-
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
288-
- '--label=org.opencontainers.image.title={{.ProjectName}}'
289-
- '--label=org.opencontainers.image.description=Fast linters Runner for Go'
290-
- '--label=org.opencontainers.image.source={{.GitURL}}'
291-
- '--label=org.opencontainers.image.url={{.GitURL}}'
292-
- '--label=org.opencontainers.image.documentation=https://golangci-lint.run'
293-
- '--label=org.opencontainers.image.created={{.Date}}'
294-
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
295-
- '--label=org.opencontainers.image.version={{.Version}}'
296-
- '--platform=linux/arm64'
297-
298-
- use: buildx
299-
goos: linux
300-
goarch: amd64
301-
dockerfile: build/buildx-alpine.Dockerfile
302-
image_templates:
303-
- 'golangci/golangci-lint:latest-alpine-amd64'
304-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-amd64'
305-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-amd64'
306-
build_flag_templates:
307-
- '--pull'
308-
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
309-
- '--label=org.opencontainers.image.title={{.ProjectName}}'
310-
- '--label=org.opencontainers.image.description=Fast linters Runner for Go'
311-
- '--label=org.opencontainers.image.source={{.GitURL}}'
312-
- '--label=org.opencontainers.image.url={{.GitURL}}'
313-
- '--label=org.opencontainers.image.documentation=https://golangci-lint.run'
314-
- '--label=org.opencontainers.image.created={{.Date}}'
315-
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
316-
- '--label=org.opencontainers.image.version={{.Version}}'
317-
- '--platform=linux/amd64'
318-
319-
- use: buildx
320-
goos: linux
321-
goarch: arm64
242+
'org.opencontainers.image.title': '{{.ProjectName}}'
243+
'org.opencontainers.image.description': 'Fast linters Runner for Go'
244+
'org.opencontainers.image.source': '{{.GitURL}}'
245+
'org.opencontainers.image.url': '{{.GitURL}}'
246+
'org.opencontainers.image.documentation': 'https://golangci-lint.run'
247+
'org.opencontainers.image.created': '{{.Date}}'
248+
'org.opencontainers.image.revision': '{{.FullCommit}}'
249+
'org.opencontainers.image.version': '{{.Version}}'
250+
- id: golangci-lint-alpine
251+
images:
252+
- 'golangci/golangci-lint'
322253
dockerfile: build/buildx-alpine.Dockerfile
323-
image_templates:
324-
- 'golangci/golangci-lint:latest-alpine-arm64'
325-
- 'golangci/golangci-lint:{{ .Tag }}-alpine-arm64'
326-
- 'golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine-arm64'
327-
build_flag_templates:
328-
- '--pull'
254+
platforms:
255+
- linux/amd64
256+
- linux/arm64
257+
tags:
258+
- 'latest-alpine'
259+
- '{{ .Tag }}-alpine'
260+
- 'v{{ .Major }}.{{ .Minor }}-alpine'
261+
labels:
329262
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
330-
- '--label=org.opencontainers.image.title={{.ProjectName}}'
331-
- '--label=org.opencontainers.image.description=Fast linters Runner for Go'
332-
- '--label=org.opencontainers.image.source={{.GitURL}}'
333-
- '--label=org.opencontainers.image.url={{.GitURL}}'
334-
- '--label=org.opencontainers.image.documentation=https://golangci-lint.run'
335-
- '--label=org.opencontainers.image.created={{.Date}}'
336-
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
337-
- '--label=org.opencontainers.image.version={{.Version}}'
338-
- '--platform=linux/arm64'
263+
'org.opencontainers.image.title': '{{.ProjectName}}'
264+
'org.opencontainers.image.description': 'Fast linters Runner for Go'
265+
'org.opencontainers.image.source': '{{.GitURL}}'
266+
'org.opencontainers.image.url': '{{.GitURL}}'
267+
'org.opencontainers.image.documentation': 'https://golangci-lint.run'
268+
'org.opencontainers.image.created': '{{.Date}}'
269+
'org.opencontainers.image.revision': '{{.FullCommit}}'
270+
'org.opencontainers.image.version': '{{.Version}}'

build/buildx-alpine.Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# syntax=docker/dockerfile:1.4
22
FROM golang:1.25-alpine
33

4+
ARG TARGETPLATFORM
5+
46
# related to https://github.com/golangci/golangci-lint/issues/3107
57
ENV GOROOT /usr/local/go
68

@@ -17,5 +19,5 @@ RUN apk --no-cache add gcc musl-dev git mercurial
1719
# Set all directories as safe
1820
RUN git config --global --add safe.directory '*'
1921

20-
COPY golangci-lint /usr/bin/
22+
COPY $TARGETPLATFORM/golangci-lint /usr/bin/
2123
CMD ["golangci-lint"]

build/buildx.Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# syntax=docker/dockerfile:1.4
22
FROM golang:1.25
33

4+
ARG TARGETPLATFORM
5+
46
# related to https://github.com/golangci/golangci-lint/issues/3107
57
ENV GOROOT /usr/local/go
68

@@ -12,5 +14,5 @@ ENV GOTOOLCHAIN auto
1214
# Set all directories as safe
1315
RUN git config --global --add safe.directory '*'
1416

15-
COPY golangci-lint /usr/bin/
17+
COPY $TARGETPLATFORM/golangci-lint /usr/bin/
1618
CMD ["golangci-lint"]

0 commit comments

Comments
 (0)