From 3efc323d2898f8ae38cfc0d060612ea2202e750c Mon Sep 17 00:00:00 2001 From: Matthias Guillitte Date: Mon, 21 Sep 2026 09:36:25 +0200 Subject: [PATCH] Multi architecture build --- .gitea/workflows/docker-publish.yaml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/docker-publish.yaml b/.gitea/workflows/docker-publish.yaml index 5149d42..58d1381 100644 --- a/.gitea/workflows/docker-publish.yaml +++ b/.gitea/workflows/docker-publish.yaml @@ -23,10 +23,14 @@ jobs: - name: Get version id: get_version - run: echo "::set-output name=version::$(cat VERSION)" + run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT + + # Required for cross-compiling ARM64 images on x86_64 runners + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 @@ -35,26 +39,23 @@ jobs: username: ninluc password: ${{ secrets.REGISTRY_TOKEN }} - - name: Cache Docker layers (registry-backed) - uses: actions/cache@v4 - with: - path: /tmp/.buildx-cache - key: buildx-cache-${{ github.sha }} - restore-keys: | - buildx-cache- - - - name: Build and push - uses: docker/build-push-action@v2 + - name: Build and push multi-arch image + uses: docker/build-push-action@v6 with: context: . file: Dockerfile + platforms: linux/amd64,linux/arm64 push: true + cache-from: type=gha + cache-to: type=gha,mode=max build-args: | VITE_REVERB_APP_KEY=${{ secrets.REVERB_APP_KEY }} VITE_REVERB_HOST=perceptron.matthiasg.dev VITE_REVERB_PORT=443 VITE_REVERB_SCHEME=https - tags: git.matthiasg.dev/ninluc/perceptron-viewer/perceptron-viewer:latest, git.matthiasg.dev/ninluc/perceptron-viewer/perceptron-viewer:${{ steps.get_version.outputs.version }} + tags: | + git.matthiasg.dev/ninluc/perceptron-viewer/perceptron-viewer:latest + git.matthiasg.dev/ninluc/perceptron-viewer/perceptron-viewer:${{ steps.get_version.outputs.version }} # notify: # needs: build