From 7326883b66b3075af49f147edb9786e09860daba Mon Sep 17 00:00:00 2001 From: Jonas Date: Fri, 14 Mar 2025 13:26:15 +0100 Subject: [PATCH 1/2] Include multi-architecture docker image generation in docker-publish.yml Add multi-architecture docker image generation including arm64 to `docker-publish.yml`. * Add `docker/setup-qemu-action@v2` to set up QEMU for emulating different CPU architectures. * Add `docker/setup-buildx-action@v2` to set up Docker Buildx for multi-architecture builds. * Specify `platforms: linux/amd64,linux/arm64` in the `docker/build-push-action@v6` step to include arm64 architecture. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/alexemanuelol/rustplusplus?shareId=XXXX-XXXX-XXXX-XXXX). --- .github/workflows/docker-publish.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index ef781724b..c58ed2b7f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -32,6 +32,12 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} @@ -59,3 +65,4 @@ jobs: push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64,linux/arm64 From 52998a35ec5212108d8d84a9cceecf36d943114a Mon Sep 17 00:00:00 2001 From: Jonas Date: Sat, 15 Mar 2025 16:28:21 +0100 Subject: [PATCH 2/2] Add multi-architecture support to Docker build and update base image * **GitHub Actions Workflow** - Add `docker/setup-buildx-action@v2` to set up Docker Buildx for multi-architecture builds - Add `platforms: linux/amd64,linux/arm64` to the `docker/build-push-action@v6` step to specify the architectures - Add `docker/setup-qemu-action@v2` to set up QEMU for emulating different CPU architectures * **Dockerfile** - Update the base image to use the native arm base image of nodejs --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 11807d2bf..cf7178c42 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18 +FROM --platform=$BUILDPLATFORM node:18 RUN apt-get update && apt-get install -y graphicsmagick && apt-get clean