From 9a92c32807f6dee52514ea0a9b663092ad90e918 Mon Sep 17 00:00:00 2001 From: Mo Kweon Date: Tue, 19 May 2026 09:28:34 -0700 Subject: [PATCH] feat: add multi-architecture docker builds (amd64, arm64) Adds support for building the Docker image for both linux/amd64 and linux/arm64 architectures. - Injects the `docker/setup-qemu-action` into the GitHub Actions workflows to emulate ARM environments. - Updates `Taskfile.yaml` to pass the `--platform linux/amd64,linux/arm64` flag to `docker buildx build`. This allows the image to natively support Raspberry Pi and other ARM64 devices. --- .github/workflows/docker.yaml | 2 ++ .github/workflows/publish.yaml | 2 ++ Taskfile.yaml | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 2a6e58a2..10e51caf 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -12,6 +12,8 @@ jobs: docker: runs-on: ubuntu-latest steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - name: docker uses: juftin/actions/taskfile@v1 with: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 95fbc3d5..02602793 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -42,6 +42,8 @@ jobs: RELEASE_VERSION="${TAG_NAME#v}" echo "RELEASE_VERSION=${RELEASE_VERSION}" echo "RELEASE_VERSION=${RELEASE_VERSION}" >> ${GITHUB_ENV} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - name: docker uses: juftin/actions/taskfile@v1 with: diff --git a/Taskfile.yaml b/Taskfile.yaml index 2fb636ff..62b182a3 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -95,7 +95,7 @@ tasks: --tag {{.DOCKER_REPO}}:{{.RELEASE_VERSION}} \ --tag {{.DOCKER_REPO}}:latest \ --file {{.ROOT_DIR}}/Dockerfile \ - {{.CLI_ARGS | default ""}} \ + --platform linux/amd64,linux/arm64 {{.CLI_ARGS | default ""}} \ {{.ROOT_DIR}} vars: RELEASE_VERSION: