fix: correct ARM64 Docker image tagging (issue #4566)

Each architecture-specific build job was pushing tags for BOTH amd64 and arm64,
causing the last-finished build to overwrite the other's tags. This resulted in
users pulling arm64-tagged images but receiving amd64 binaries, leading to
'exec format error' on ARM64 hosts.

Fix: Each job now only pushes tags with its own architecture suffix:
- build-amd64 → only -amd64 tags
- build-arm64 → only -arm64 tags

The create-manifest job correctly combines both into multi-arch manifests
with clean (no suffix) tags.

Fixes #4566
This commit is contained in:
spiceoogway 2026-01-30 09:03:20 -05:00
parent 7150268f84
commit 40632e727f

View File

@ -41,12 +41,8 @@ jobs:
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{version}},suffix=-amd64
type=semver,pattern={{version}},suffix=-arm64
type=ref,event=branch,suffix=-amd64
type=ref,event=branch,suffix=-arm64
type=semver,pattern={{version}},suffix=-amd64
- name: Build and push amd64 image
id: build
@ -90,12 +86,8 @@ jobs:
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{version}},suffix=-amd64
type=semver,pattern={{version}},suffix=-arm64
type=ref,event=branch,suffix=-amd64
type=ref,event=branch,suffix=-arm64
type=semver,pattern={{version}},suffix=-arm64
- name: Build and push arm64 image
id: build