From ccede1b3d21f09543e4dfbe0c3f8c7cf6f533813 Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Tue, 1 Sep 2026 14:19:37 +0200 Subject: [PATCH] ci: build multi-arch image (amd64 + arm64) via QEMU Adds linux/arm64 to the GHCR publish alongside amd64 using QEMU emulation, so the image runs on ARM servers (Graviton, Ampere, Apple Silicon). Timeout raised to 120m since the emulated arm64 build is slower. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/nomploy.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nomploy.yml b/.github/workflows/nomploy.yml index 8dd212bed..6cc521221 100644 --- a/.github/workflows/nomploy.yml +++ b/.github/workflows/nomploy.yml @@ -21,11 +21,17 @@ permissions: jobs: build-and-push: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 120 steps: - name: Checkout uses: actions/checkout@v4 + # QEMU lets a single amd64 runner also build the arm64 image (emulated). + # Simpler and plan-independent; slower than native arm runners. For faster + # builds, split into native amd64 + ubuntu-24.04-arm jobs with a manifest. + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -61,9 +67,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - # arm64 can be added here (needs QEMU or an arm runner; slower build): - # platforms: linux/amd64,linux/arm64 - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}