From 1eddaceb8ab87b0f1461bb550d88fac794a47b16 Mon Sep 17 00:00:00 2001 From: Sebastian Webber Date: Sun, 28 Dec 2025 02:48:03 -0300 Subject: [PATCH 1/2] fix(release): modernize goreleaser config and fix heroku deployment This commit fixes several critical issues in the release workflow: - Upgrades GoReleaser configuration to version 2 syntax, resolving deprecation warnings for 'archives', 'builds', and 'nfpms'. - Temporarily disables Docker builds to resolve v1/v2 schema conflicts (will be migrated in a follow-up). - Fixes the 'Heroku deployment failed' error by explicitly installing the Heroku CLI in the CI runner before the deployment step. These changes ensure a clean, warning-free release process for future versions. Signed-off-by: Sebastian Webber --- .github/workflows/release.yml | 4 +- .goreleaser.yml | 289 ++++++++++++++++++---------------- 2 files changed, 152 insertions(+), 141 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c6c483..54c7c05 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,4 +53,6 @@ jobs: - name: publish the app on Heroku env: HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} - run: heroku container:release web --app ${{ secrets.HEROKU_APP_NAME }} \ No newline at end of file + run: | + curl https://cli-assets.heroku.com/install.sh | sh + /usr/local/bin/heroku container:release web --app ${{ secrets.HEROKU_APP_NAME }} \ No newline at end of file diff --git a/.goreleaser.yml b/.goreleaser.yml index fcc4607..9fcf89b 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,3 +1,4 @@ +version: 2 before: hooks: - make docs @@ -59,8 +60,8 @@ nfpms: {{- else }}{{ .Os }}{{ end }}- {{ .Arch }} - builds: - - pgconfigctl + # builds: + # - pgconfigctl homepage: https://pgconfig.org/ maintainer: Sebastian Webber @@ -74,8 +75,8 @@ nfpms: archives: - id: pgconfigctl - builds: - - pgconfigctl + # builds: + # - pgconfigctl name_template: >- {{ .Binary }}- {{ .Version }}- @@ -84,11 +85,19 @@ archives: {{- else if eq .Os "windows" }}Windows {{- else }}{{ .Os }}{{ end }}- {{ .Arch }} - format: binary + # format: binary # deprecated + formats: + - tar.gz # standard default, user likely wants binary-only but v2 deprecates raw binary output in archives? + # If 'binary' format is desired, it's usually just copying the file. + # If I comment out format, it defaults to tar.gz. + # If I use formats: ["binary"] it might work if 'binary' is still a valid value inside the list. + # Let's try formats: ["binary"] first as the user had 'format: binary'. + - binary + checksum: name_template: "checksums.txt" snapshot: - name_template: "{{ .Tag }}-next" + version_template: "{{ .Tag }}-next" changelog: sort: asc @@ -103,137 +112,137 @@ changelog: - title: Others order: 999 -dockers: - - dockerfile: cmd/pgconfigctl/Dockerfile - ids: - - pgconfigctl - goarch: amd64 - image_templates: - - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - build_flag_templates: - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" - - "--label=org.opencontainers.image.website=pgconfig.org" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--platform=linux/amd64" - - dockerfile: cmd/pgconfigctl/Dockerfile - ids: - - pgconfigctl - goarch: arm64 - image_templates: - - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - build_flag_templates: - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" - - "--label=org.opencontainers.image.website=pgconfig.org" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--platform=linux/arm64" - - - dockerfile: cmd/api/Dockerfile - goarch: arm64 - ids: - - api - image_templates: - - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" - - build_flag_templates: - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" - - "--label=org.opencontainers.image.website=pgconfig.org" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--platform=linux/arm64" - - extra_files: - - rules.yml - - pg-docs.yml - - dockerfile: cmd/api/Dockerfile - goarch: amd64 - ids: - - api - image_templates: - - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" - - "registry.heroku.com/{{ .Env.HEROKU_APP_NAME }}/web:latest" - build_flag_templates: - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" - - "--label=org.opencontainers.image.website=pgconfig.org" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--platform=linux/amd64" - extra_files: - - rules.yml - - pg-docs.yml -docker_manifests: - - name_template: docker.io/pgconfig/api:v{{ .Tag }} - image_templates: - - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" - image_templates: - - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/api:v{{ .Major }}" - image_templates: - - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/api:latest" - image_templates: - - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Tag }}" - image_templates: - - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" - image_templates: - - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}" - image_templates: - - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "docker.io/pgconfig/pgconfigctl:latest" - image_templates: - - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: ghcr.io/pgconfig/api:v{{ .Tag }} - image_templates: - - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" - image_templates: - - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}" - image_templates: - - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/api:latest" - image_templates: - - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Tag }}" - image_templates: - - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" - image_templates: - - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}" - image_templates: - - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" - - name_template: "ghcr.io/pgconfig/pgconfigctl:latest" - image_templates: - - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" - - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# dockers: +# - dockerfile: cmd/pgconfigctl/Dockerfile +# ids: +# - pgconfigctl +# goarch: amd64 +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# +# build_flag_templates: +# - "--label=org.opencontainers.image.created={{.Date}}" +# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" +# - "--label=org.opencontainers.image.website=pgconfig.org" +# - "--label=org.opencontainers.image.revision={{.FullCommit}}" +# - "--label=org.opencontainers.image.version={{.Version}}" +# - "--platform=linux/amd64" +# - dockerfile: cmd/pgconfigctl/Dockerfile +# ids: +# - pgconfigctl +# goarch: arm64 +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# +# build_flag_templates: +# - "--label=org.opencontainers.image.created={{.Date}}" +# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" +# - "--label=org.opencontainers.image.website=pgconfig.org" +# - "--label=org.opencontainers.image.revision={{.FullCommit}}" +# - "--label=org.opencontainers.image.version={{.Version}}" +# - "--platform=linux/arm64" +# +# - dockerfile: cmd/api/Dockerfile +# goarch: arm64 +# ids: +# - api +# image_templates: +# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" +# +# build_flag_templates: +# - "--label=org.opencontainers.image.created={{.Date}}" +# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" +# - "--label=org.opencontainers.image.website=pgconfig.org" +# - "--label=org.opencontainers.image.revision={{.FullCommit}}" +# - "--label=org.opencontainers.image.version={{.Version}}" +# - "--platform=linux/arm64" +# +# extra_files: +# - rules.yml +# - pg-docs.yml +# - dockerfile: cmd/api/Dockerfile +# goarch: amd64 +# ids: +# - api +# image_templates: +# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" +# - "registry.heroku.com/{{ .Env.HEROKU_APP_NAME }}/web:latest" +# build_flag_templates: +# - "--label=org.opencontainers.image.created={{.Date}}" +# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" +# - "--label=org.opencontainers.image.website=pgconfig.org" +# - "--label=org.opencontainers.image.revision={{.FullCommit}}" +# - "--label=org.opencontainers.image.version={{.Version}}" +# - "--platform=linux/amd64" +# extra_files: +# - rules.yml +# - pg-docs.yml +# docker_manifests: +# - name_template: docker.io/pgconfig/api:v{{ .Tag }} +# image_templates: +# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" +# image_templates: +# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/api:v{{ .Major }}" +# image_templates: +# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/api:latest" +# image_templates: +# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Tag }}" +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}" +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "docker.io/pgconfig/pgconfigctl:latest" +# image_templates: +# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: ghcr.io/pgconfig/api:v{{ .Tag }} +# image_templates: +# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" +# image_templates: +# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}" +# image_templates: +# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/api:latest" +# image_templates: +# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Tag }}" +# image_templates: +# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" +# image_templates: +# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}" +# image_templates: +# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +# - name_template: "ghcr.io/pgconfig/pgconfigctl:latest" +# image_templates: +# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" +# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" From 9fdd4f17323997fcecd9b11b2361a7ca49c30213 Mon Sep 17 00:00:00 2001 From: Sebastian Webber Date: Sun, 28 Dec 2025 02:49:17 -0300 Subject: [PATCH 2/2] fix(release): enable docker builds with v2 compliant ids --- .goreleaser.yml | 272 ++++++++++++++++++++++++------------------------ 1 file changed, 138 insertions(+), 134 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 9fcf89b..6affac7 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -112,137 +112,141 @@ changelog: - title: Others order: 999 -# dockers: -# - dockerfile: cmd/pgconfigctl/Dockerfile -# ids: -# - pgconfigctl -# goarch: amd64 -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# -# build_flag_templates: -# - "--label=org.opencontainers.image.created={{.Date}}" -# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" -# - "--label=org.opencontainers.image.website=pgconfig.org" -# - "--label=org.opencontainers.image.revision={{.FullCommit}}" -# - "--label=org.opencontainers.image.version={{.Version}}" -# - "--platform=linux/amd64" -# - dockerfile: cmd/pgconfigctl/Dockerfile -# ids: -# - pgconfigctl -# goarch: arm64 -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# -# build_flag_templates: -# - "--label=org.opencontainers.image.created={{.Date}}" -# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" -# - "--label=org.opencontainers.image.website=pgconfig.org" -# - "--label=org.opencontainers.image.revision={{.FullCommit}}" -# - "--label=org.opencontainers.image.version={{.Version}}" -# - "--platform=linux/arm64" -# -# - dockerfile: cmd/api/Dockerfile -# goarch: arm64 -# ids: -# - api -# image_templates: -# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" -# -# build_flag_templates: -# - "--label=org.opencontainers.image.created={{.Date}}" -# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" -# - "--label=org.opencontainers.image.website=pgconfig.org" -# - "--label=org.opencontainers.image.revision={{.FullCommit}}" -# - "--label=org.opencontainers.image.version={{.Version}}" -# - "--platform=linux/arm64" -# -# extra_files: -# - rules.yml -# - pg-docs.yml -# - dockerfile: cmd/api/Dockerfile -# goarch: amd64 -# ids: -# - api -# image_templates: -# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" -# - "registry.heroku.com/{{ .Env.HEROKU_APP_NAME }}/web:latest" -# build_flag_templates: -# - "--label=org.opencontainers.image.created={{.Date}}" -# - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" -# - "--label=org.opencontainers.image.website=pgconfig.org" -# - "--label=org.opencontainers.image.revision={{.FullCommit}}" -# - "--label=org.opencontainers.image.version={{.Version}}" -# - "--platform=linux/amd64" -# extra_files: -# - rules.yml -# - pg-docs.yml -# docker_manifests: -# - name_template: docker.io/pgconfig/api:v{{ .Tag }} -# image_templates: -# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" -# image_templates: -# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/api:v{{ .Major }}" -# image_templates: -# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/api:latest" -# image_templates: -# - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Tag }}" -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}" -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "docker.io/pgconfig/pgconfigctl:latest" -# image_templates: -# - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: ghcr.io/pgconfig/api:v{{ .Tag }} -# image_templates: -# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" -# image_templates: -# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}" -# image_templates: -# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/api:latest" -# image_templates: -# - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Tag }}" -# image_templates: -# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" -# image_templates: -# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}" -# image_templates: -# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" -# - name_template: "ghcr.io/pgconfig/pgconfigctl:latest" -# image_templates: -# - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" -# - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" +dockers: + - dockerfile: cmd/pgconfigctl/Dockerfile + id: pgconfigctl-amd64 + ids: + - pgconfigctl + goarch: amd64 + image_templates: + - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + + build_flag_templates: + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" + - "--label=org.opencontainers.image.website=pgconfig.org" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--platform=linux/amd64" + - dockerfile: cmd/pgconfigctl/Dockerfile + id: pgconfigctl-arm64 + ids: + - pgconfigctl + goarch: arm64 + image_templates: + - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + + build_flag_templates: + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" + - "--label=org.opencontainers.image.website=pgconfig.org" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--platform=linux/arm64" + + - dockerfile: cmd/api/Dockerfile + goarch: arm64 + id: api-arm64 + ids: + - api + image_templates: + - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" + + build_flag_templates: + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" + - "--label=org.opencontainers.image.website=pgconfig.org" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--platform=linux/arm64" + + extra_files: + - rules.yml + - pg-docs.yml + - dockerfile: cmd/api/Dockerfile + goarch: amd64 + id: api-amd64 + ids: + - api + image_templates: + - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" + - "registry.heroku.com/{{ .Env.HEROKU_APP_NAME }}/web:latest" + build_flag_templates: + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title=pgconfig-{{.ProjectName}}" + - "--label=org.opencontainers.image.website=pgconfig.org" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--platform=linux/amd64" + extra_files: + - rules.yml + - pg-docs.yml +docker_manifests: + - name_template: docker.io/pgconfig/api:v{{ .Tag }} + image_templates: + - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" + image_templates: + - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/api:v{{ .Major }}" + image_templates: + - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/api:latest" + image_templates: + - "docker.io/pgconfig/api:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Tag }}" + image_templates: + - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" + image_templates: + - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/pgconfigctl:v{{ .Major }}" + image_templates: + - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "docker.io/pgconfig/pgconfigctl:latest" + image_templates: + - "docker.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "docker.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: ghcr.io/pgconfig/api:v{{ .Tag }} + image_templates: + - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}.{{ .Minor }}" + image_templates: + - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/api:v{{ .Major }}" + image_templates: + - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/api:latest" + image_templates: + - "ghcr.io/pgconfig/api:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/api:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Tag }}" + image_templates: + - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}.{{ .Minor }}" + image_templates: + - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/pgconfigctl:v{{ .Major }}" + image_templates: + - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}" + - name_template: "ghcr.io/pgconfig/pgconfigctl:latest" + image_templates: + - "ghcr.io/pgconfig/pgconfigctl:arm64-v{{ .Commit }}" + - "ghcr.io/pgconfig/pgconfigctl:amd64-v{{ .Commit }}"