From 20ff017b8944aecf89177a9d4688d5c42eda393f Mon Sep 17 00:00:00 2001 From: benbierens Date: Thu, 4 May 2023 15:06:09 +0200 Subject: [PATCH] Sets up separate docker build for arm --- .github/workflows/docker.yml | 51 +++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ea178b4c..950fcbf8 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -9,7 +9,7 @@ on: workflow_dispatch: jobs: - docker: + docker-amd64: runs-on: ubuntu-latest steps: - name: Checkout @@ -18,14 +18,10 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: thatbenbierens/nim-codex + images: thatbenbierens/nim-codex-amd64 tags: | type=semver,pattern={{version}} type=sha - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub if: github.event_name != 'pull_request' uses: docker/login-action@v2 @@ -37,11 +33,49 @@ jobs: with: context: . file: docker/codex.Dockerfile - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64 + push: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + - name: Minify docker image + uses: kitabisa/docker-slim-action@v1 + env: + DSLIM_HTTP_PROBE: false + with: + target: ${{ steps.meta.outputs.labels }} + tag: ${{ steps.meta.outputs.tags }} + - name: Push image to docker registry + run: docker image push "${{ steps.meta.outputs.labels }}:${{ steps.meta.outputs.tags }}" + if: github.event_name != 'pull_request' + + docker-arm64: + runs-on: buildjet-2vcpu-ubuntu-2204-arm + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: thatbenbierens/nim-codex-arm64 + tags: | + type=semver,pattern={{version}} + type=sha + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: docker/codex.Dockerfile + platforms: linux/arm64 push: false tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - # Slim it! - name: Minify docker image uses: kitabisa/docker-slim-action@v1 env: @@ -49,7 +83,6 @@ jobs: with: target: ${{ steps.meta.outputs.labels }} tag: ${{ steps.meta.outputs.tags }} - # Push to the docker registry - name: Push image to docker registry run: docker image push "${{ steps.meta.outputs.labels }}:${{ steps.meta.outputs.tags }}" if: github.event_name != 'pull_request'