From 9d46948173fb392269c011b8578c2b2e3bc0ff5d Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 16 Nov 2025 17:16:55 -0600 Subject: [PATCH 1/4] feat: build both amd64/v2 and amd64/v3 images --- .github/workflows/build-push.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 09aafb27..41659703 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -63,9 +63,14 @@ jobs: include: - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base - PLATFORM: linux/amd64 + PLATFORM: linux/amd64/v2 runner: ubuntu-latest arch: amd64 + - BASE_IMAGE: debian:stable-slim + BUILD_IMAGE: debian_stable_base + PLATFORM: linux/amd64/v3 + runner: ubuntu-latest + arch: amd64-v3 - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base PLATFORM: linux/arm64 From 985af1c3ec5f7f9caae7222d4a1e0f99e6f143d7 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 16 Nov 2025 17:30:43 -0600 Subject: [PATCH 2/4] Use underscore for amd_v2/3, and merge all in base-manifest --- .github/workflows/build-push.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 41659703..e3ef20d6 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -65,12 +65,12 @@ jobs: BUILD_IMAGE: debian_stable_base PLATFORM: linux/amd64/v2 runner: ubuntu-latest - arch: amd64 + arch: amd64_v2 - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base PLATFORM: linux/amd64/v3 runner: ubuntu-latest - arch: amd64-v3 + arch: amd64_v3 - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base PLATFORM: linux/arm64 @@ -233,7 +233,8 @@ jobs: id: digests run: | # Read the digests from the files - DIGEST_AMD64=$(cat /tmp/digests/amd64.digest) + DIGEST_AMD64_V2=$(cat /tmp/digests/amd64_v2.digest) + DIGEST_AMD64_V3=$(cat /tmp/digests/amd64_v3.digest) DIGEST_ARM64=$(cat /tmp/digests/arm64.digest) # Get the base image name from the digests (they'll be the same) REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64 | cut -d'@' -f1) @@ -249,7 +250,8 @@ jobs: echo "registry=$REGISTRY" >> $GITHUB_OUTPUT echo "image=$IMAGE" >> $GITHUB_OUTPUT echo "tag=$TAG" >> $GITHUB_OUTPUT - echo "amd64=$DIGEST_AMD64" >> $GITHUB_OUTPUT + echo "amd64_v2=$DIGEST_AMD64_V2" >> $GITHUB_OUTPUT + echo "amd64_v3=$DIGEST_AMD64_V3" >> $GITHUB_OUTPUT echo "arm64=$DIGEST_ARM64" >> $GITHUB_OUTPUT - name: Extract Docker metadata for final tags id: meta @@ -272,7 +274,8 @@ jobs: # Create the manifest list and tag it with the final tags docker buildx imagetools create \ $TAG_ARGS \ - ${{ steps.digests.outputs.amd64 }} \ + ${{ steps.digests.outputs.amd64_v2 }} \ + ${{ steps.digests.outputs.amd64_v3 }} \ ${{ steps.digests.outputs.arm64 }} eic: From 08507d7266a0721820592314c18a0842eb984dea Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 16 Nov 2025 18:10:15 -0600 Subject: [PATCH 3/4] Update registry image tag to use AMD64_V2 digest for name --- .github/workflows/build-push.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index e3ef20d6..275660cb 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -237,7 +237,7 @@ jobs: DIGEST_AMD64_V3=$(cat /tmp/digests/amd64_v3.digest) DIGEST_ARM64=$(cat /tmp/digests/arm64.digest) # Get the base image name from the digests (they'll be the same) - REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64 | cut -d'@' -f1) + REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64_V2 | cut -d'@' -f1) REGISTRY_IMAGE=$(echo $REGISTRY_IMAGE_TAG | cut -d':' -f1) REGISTRY=$(echo $REGISTRY_IMAGE | cut -d'/' -f1-2) IMAGE=$(echo $REGISTRY_IMAGE | cut -d'/' -f3) @@ -245,7 +245,8 @@ jobs: echo "Registry Name: $REGISTRY" echo "Image Name: $IMAGE" echo "Tag Name: $TAG" - echo "AMD64 Digest: $DIGEST_AMD64" + echo "AMD64_V2 Digest: $DIGEST_AMD64_V2" + echo "AMD64_V3 Digest: $DIGEST_AMD64_V3" echo "ARM64 Digest: $DIGEST_ARM64" echo "registry=$REGISTRY" >> $GITHUB_OUTPUT echo "image=$IMAGE" >> $GITHUB_OUTPUT From 77f3a4be3c297fb33049d5305de9035b2da5d991 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Mon, 24 Nov 2025 20:55:14 -0600 Subject: [PATCH 4/4] Build eic for amd64_v3 too --- .github/workflows/build-push.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 275660cb..5af3491e 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -63,9 +63,9 @@ jobs: include: - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base - PLATFORM: linux/amd64/v2 + PLATFORM: linux/amd64 runner: ubuntu-latest - arch: amd64_v2 + arch: amd64 - BASE_IMAGE: debian:stable-slim BUILD_IMAGE: debian_stable_base PLATFORM: linux/amd64/v3 @@ -114,7 +114,7 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/amd64/v3,linux/arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 id: buildx @@ -233,11 +233,11 @@ jobs: id: digests run: | # Read the digests from the files - DIGEST_AMD64_V2=$(cat /tmp/digests/amd64_v2.digest) + DIGEST_AMD64=$(cat /tmp/digests/amd64.digest) DIGEST_AMD64_V3=$(cat /tmp/digests/amd64_v3.digest) DIGEST_ARM64=$(cat /tmp/digests/arm64.digest) # Get the base image name from the digests (they'll be the same) - REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64_V2 | cut -d'@' -f1) + REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64 | cut -d'@' -f1) REGISTRY_IMAGE=$(echo $REGISTRY_IMAGE_TAG | cut -d':' -f1) REGISTRY=$(echo $REGISTRY_IMAGE | cut -d'/' -f1-2) IMAGE=$(echo $REGISTRY_IMAGE | cut -d'/' -f3) @@ -245,13 +245,13 @@ jobs: echo "Registry Name: $REGISTRY" echo "Image Name: $IMAGE" echo "Tag Name: $TAG" - echo "AMD64_V2 Digest: $DIGEST_AMD64_V2" + echo "AMD64 Digest: $DIGEST_AMD64" echo "AMD64_V3 Digest: $DIGEST_AMD64_V3" echo "ARM64 Digest: $DIGEST_ARM64" echo "registry=$REGISTRY" >> $GITHUB_OUTPUT echo "image=$IMAGE" >> $GITHUB_OUTPUT echo "tag=$TAG" >> $GITHUB_OUTPUT - echo "amd64_v2=$DIGEST_AMD64_V2" >> $GITHUB_OUTPUT + echo "amd64=$DIGEST_AMD64" >> $GITHUB_OUTPUT echo "amd64_v3=$DIGEST_AMD64_V3" >> $GITHUB_OUTPUT echo "arm64=$DIGEST_ARM64" >> $GITHUB_OUTPUT - name: Extract Docker metadata for final tags @@ -275,7 +275,7 @@ jobs: # Create the manifest list and tag it with the final tags docker buildx imagetools create \ $TAG_ARGS \ - ${{ steps.digests.outputs.amd64_v2 }} \ + ${{ steps.digests.outputs.amd64 }} \ ${{ steps.digests.outputs.amd64_v3 }} \ ${{ steps.digests.outputs.arm64 }} @@ -290,11 +290,14 @@ jobs: BUILDER_IMAGE: [debian_stable_base] RUNTIME_IMAGE: [debian_stable_base] ENV: [ci, xl] - arch: [amd64, arm64] + arch: [amd64, amd64_v3, arm64] include: - arch: amd64 runner: ubuntu-latest PLATFORM: linux/amd64 + - arch: amd64_v3 + runner: ubuntu-latest + PLATFORM: linux/amd64/v3 - arch: arm64 runner: ubuntu-24.04-arm PLATFORM: linux/arm64 @@ -334,7 +337,7 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/amd64/v3,linux/arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 id: buildx @@ -471,6 +474,7 @@ jobs: run: | # Read the digests from the files DIGEST_AMD64=$(cat /tmp/digests/amd64.digest) + DIGEST_AMD64_V3=$(cat /tmp/digests/amd64_v3.digest) DIGEST_ARM64=$(cat /tmp/digests/arm64.digest) # Get the base image name from the digests (they'll be the same) REGISTRY_IMAGE_TAG=$(echo $DIGEST_AMD64 | cut -d'@' -f1) @@ -482,11 +486,13 @@ jobs: echo "Image Name: $IMAGE" echo "Tag Name: $TAG" echo "AMD64 Digest: $DIGEST_AMD64" + echo "AMD64_V3 Digest: $DIGEST_AMD64_V3" echo "ARM64 Digest: $DIGEST_ARM64" echo "registry=$REGISTRY" >> $GITHUB_OUTPUT echo "image=$IMAGE" >> $GITHUB_OUTPUT echo "tag=$TAG" >> $GITHUB_OUTPUT echo "amd64=$DIGEST_AMD64" >> $GITHUB_OUTPUT + echo "amd64_v3=$DIGEST_AMD64_V3" >> $GITHUB_OUTPUT echo "arm64=$DIGEST_ARM64" >> $GITHUB_OUTPUT - name: Extract Docker metadata for final tags id: meta @@ -510,4 +516,5 @@ jobs: docker buildx imagetools create \ $TAG_ARGS \ ${{ steps.digests.outputs.amd64 }} \ + ${{ steps.digests.outputs.amd64_v3 }} \ ${{ steps.digests.outputs.arm64 }}