From a1cb85a76c6966c8fa7c37b96daee171cf338bb6 Mon Sep 17 00:00:00 2001 From: darthmaim <git@darthmaim.de> Date: Thu, 11 Jan 2024 20:08:42 +0100 Subject: [PATCH] Build multiarch image --- .github/workflows/docker-publish.yml | 29 ++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index f159d23..e2a4fe7 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -13,9 +13,6 @@ on: # Run tests for any PRs. pull_request: -env: - IMAGE_NAME: icons - jobs: # Run tests. # See also https://docs.docker.com/docker-hub/builds/automated-testing/ @@ -45,16 +42,15 @@ jobs: steps: - uses: actions/checkout@v2 - - - name: Build image - run: docker build . --file Dockerfile --tag $IMAGE_NAME - + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - name: Log into registry run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin - - - name: Push image + - name: Generate image name run: | - IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME + IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/icons # Change all uppercase to lowercase IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') @@ -71,5 +67,14 @@ jobs: echo IMAGE_ID=$IMAGE_ID echo VERSION=$VERSION - docker tag $IMAGE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION + echo "IMAGE_NAME=$IMAGE_ID:$VERSION" >> $GITHUB_ENV + - name: Build image + run: | + docker buildx build \ + --file Dockerfile \ + --tag $IMAGE_NAME \ + --platform=linux/amd64,linux/arm64 \ + --output=type=image,push=true \ + . + +