From d579dd7a09e3682a5aa684fa85b864857022df20 Mon Sep 17 00:00:00 2001 From: tobi Date: Tue, 15 Apr 2025 17:03:23 +0200 Subject: [PATCH] [chore] Don't push `latest` Docker image on prerelease --- .goreleaser.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 39ae5c186..30d57b296 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -102,9 +102,9 @@ dockers: ids: - gotosocial image_templates: - - "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64" - - "superseriousbusiness/{{ .ProjectName }}:latest-amd64" - - "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-amd64{{ end }}" + - "{{ if not .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64{{ end }}" # Use version tag (eg., `0.19.0`, `0.19.0-rc1`) for proper releases and prereleases. + - "{{ if and (not .Prerelease) (not .IsSnapshot) }}superseriousbusiness/{{ .ProjectName }}:latest-amd64{{ end }}" # Only use `latest` for proper releases, not prereleases or snapshots. + - "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-amd64{{ end }}" # Only use `snapshot` for snapshot builds triggered by merge to main. build_flag_templates: - "--platform=linux/amd64" - "--label=org.opencontainers.image.title=GoToSocial" @@ -131,9 +131,9 @@ dockers: ids: - gotosocial image_templates: - - "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8" - - "superseriousbusiness/{{ .ProjectName }}:latest-arm64v8" - - "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-arm64v8{{ end }}" + - "{{ if not .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8{{ end }}" # Use version tag (eg., `0.19.0`, `0.19.0-rc1`) for proper releases and prereleases. + - "{{ if and (not .Prerelease) (not .IsSnapshot) }}superseriousbusiness/{{ .ProjectName }}:latest-arm64v8{{ end }}" # Only use `latest` for proper releases, not prereleases or snapshots. + - "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-arm64v8{{ end }}" # Only use `snapshot` for snapshot builds triggered by merge to main. build_flag_templates: - "--platform=linux/arm64/v8" - "--label=org.opencontainers.image.title=GoToSocial" @@ -155,14 +155,17 @@ dockers: # https://goreleaser.com/customization/docker_manifest/ docker_manifests: - - name_template: superseriousbusiness/{{ .ProjectName }}:{{ .Version }} + # Use version tag (eg., `0.19.0`, `0.19.0-rc1`) for proper releases and prereleases. + - name_template: "{{ if not .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:{{ .Version }}{{ end }}" image_templates: - superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64 - superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8 - - name_template: superseriousbusiness/{{ .ProjectName }}:latest + # Only use `latest` for proper releases, not prereleases or snapshots. + - name_template: "{{ if and (not .Prerelease) (not .IsSnapshot) }}superseriousbusiness/{{ .ProjectName }}:latest{{ end }}" image_templates: - superseriousbusiness/{{ .ProjectName }}:latest-amd64 - superseriousbusiness/{{ .ProjectName }}:latest-arm64v8 + # Only use `snapshot` for snapshot builds triggered by merge to main. - name_template: "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot{{ end }}" image_templates: - superseriousbusiness/{{ .ProjectName }}:snapshot-amd64