Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/add-amd64-image-tag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
bump: patch
---

Add AMD64-specific Docker image tags to release workflow

The release workflow now publishes architecture-specific `-amd64` tags
(e.g., `1.2.1-amd64`, `latest-amd64`) alongside the existing `-arm64` tags,
providing symmetry between architectures. The multi-arch manifest now
explicitly references the `-amd64` and `-arm64` tagged images. Release notes
are updated to list the AMD64 tag.
29 changes: 24 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -476,14 +476,31 @@ jobs:
type=sha,prefix=
type=raw,value={{date 'YYYYMMDD'}}

- name: Extract metadata for amd64-specific tags
id: meta-amd64
uses: docker/metadata-action@v5
with:
images: |
${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}
${{ env.DOCKERHUB_IMAGE_NAME }}
flavor: |
suffix=-amd64
tags: |
type=raw,value=latest
type=raw,value=${{ steps.version.outputs.version }}
type=sha,prefix=
type=raw,value={{date 'YYYYMMDD'}}

- name: Build and push Docker image (amd64)
id: build
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
tags: |
${{ steps.meta.outputs.tags }}
${{ steps.meta-amd64.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false # Prevents unknown/unknown platform in registry
cache-from: type=gha
Expand Down Expand Up @@ -627,14 +644,14 @@ jobs:

# Create manifest for latest tag on GHCR
docker manifest create ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest-amd64 \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest-arm64

docker manifest push ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest

# Create manifest for version tag on GHCR
docker manifest create ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${VERSION} \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${VERSION} \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${VERSION}-amd64 \
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${VERSION}-arm64

docker manifest push ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:${VERSION}
Expand All @@ -647,14 +664,14 @@ jobs:

# Create manifest for latest tag on Docker Hub
docker manifest create ${{ env.DOCKERHUB_IMAGE_NAME }}:latest \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:latest \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:latest-amd64 \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:latest-arm64

docker manifest push ${{ env.DOCKERHUB_IMAGE_NAME }}:latest

# Create manifest for version tag on Docker Hub
docker manifest create ${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION} \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION} \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}-amd64 \
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}-arm64

docker manifest push ${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}
Expand Down Expand Up @@ -708,11 +725,13 @@ jobs:

### GitHub Container Registry (GHCR)
- [\`${GHCR_IMAGE}:${VERSION}\`](https://github.com/${REPO}/pkgs/container/sandbox) (multi-arch)
- [\`${GHCR_IMAGE}:${VERSION}-amd64\`](https://github.com/${REPO}/pkgs/container/sandbox) (AMD64)
- [\`${GHCR_IMAGE}:${VERSION}-arm64\`](https://github.com/${REPO}/pkgs/container/sandbox) (ARM64)
- [\`${GHCR_IMAGE}:latest\`](https://github.com/${REPO}/pkgs/container/sandbox) (multi-arch)

### Docker Hub
- [\`${DOCKERHUB_IMAGE}:${VERSION}\`](https://hub.docker.com/r/${DOCKERHUB_IMAGE}) (multi-arch)
- [\`${DOCKERHUB_IMAGE}:${VERSION}-amd64\`](https://hub.docker.com/r/${DOCKERHUB_IMAGE}) (AMD64)
- [\`${DOCKERHUB_IMAGE}:${VERSION}-arm64\`](https://hub.docker.com/r/${DOCKERHUB_IMAGE}) (ARM64)
- [\`${DOCKERHUB_IMAGE}:latest\`](https://hub.docker.com/r/${DOCKERHUB_IMAGE}) (multi-arch)

Expand Down