From eb379407886f983c801c601342ae7c6b32277adb Mon Sep 17 00:00:00 2001 From: orveth Date: Wed, 3 Jun 2026 14:08:36 -0700 Subject: [PATCH] ci: build pops-gateway image multi-arch (amd64 + arm64) Publish a multi-arch manifest list so `docker pull ghcr.io/makeprisms/pops-gateway` resolves natively on both linux/amd64 and linux/arm64. - Add docker/setup-qemu-action so the arm64 layer cross-builds under emulation on the amd64 runner (single-job QEMU approach; the gateway is a release/dispatch build so a slower emulated Rust compile is acceptable). - Pass platforms: linux/amd64,linux/arm64 to build-push-action. - Bump actions/checkout v4 -> v5 (Node-20 runtime is being deprecated; v5 runs on Node 24). Tags + push behavior unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/publish-gateway.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-gateway.yml b/.github/workflows/publish-gateway.yml index 0495dbf..7048c5f 100644 --- a/.github/workflows/publish-gateway.yml +++ b/.github/workflows/publish-gateway.yml @@ -13,7 +13,8 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + - uses: docker/setup-qemu-action@v3 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: @@ -33,6 +34,7 @@ jobs: with: context: . file: crates/pops-gateway/Dockerfile + platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}