diff --git a/.github/workflows/build-image-debian.yaml b/.github/workflows/build-image-debian.yaml index 9da1f5b..942a22e 100644 --- a/.github/workflows/build-image-debian.yaml +++ b/.github/workflows/build-image-debian.yaml @@ -12,15 +12,14 @@ on: jobs: docker: - runs-on: ubuntu-22.04 + runs-on: ${{ startsWith(matrix.platforms, 'linux/arm') && 'ubuntu-24.04-arm' || 'ubuntu-latest' }} + strategy: + fail-fast: false + matrix: + platform: ["linux/amd64", "linux/arm64"] steps: - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: all + uses: actions/checkout@v5 - name: Set up Docker Buildx id: buildx @@ -28,10 +27,9 @@ jobs: - name: Build id: docker_build - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: debian - file: debian/Dockerfile load: true tags: invoiceninja/invoiceninja-debian:test cache-from: type=gha diff --git a/.github/workflows/publish-image.yaml b/.github/workflows/publish-image.yaml index 5f5b684..8ff0af1 100644 --- a/.github/workflows/publish-image.yaml +++ b/.github/workflows/publish-image.yaml @@ -7,16 +7,18 @@ on: jobs: docker: - runs-on: ubuntu-22.04 + runs-on: ${{ startsWith(matrix.platforms, 'linux/arm') && 'ubuntu-24.04-arm' || 'ubuntu-latest' }} strategy: + fail-fast: false matrix: + platform: ["linux/amd64", "linux/arm64"] include: - image: invoiceninja/invoiceninja-debian - context: ./debian + context: debian steps: - name: Checkout - uses: actions/checkout@v4 # Updated from v2 + uses: actions/checkout@v5 with: fetch-depth: 0 @@ -43,33 +45,27 @@ jobs: echo "version=${VERSION}" >> $GITHUB_OUTPUT echo "major=${MAJOR}" >> $GITHUB_OUTPUT - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 # Updated from v1 - with: - platforms: all - - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v3 # Updated from v1 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub if: github.event_name != 'pull_request' - uses: docker/login-action@v3 # Updated from v1 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Build and push id: docker_build - uses: docker/build-push-action@v5 # Updated from v2 + uses: docker/build-push-action@v6 with: context: ${{ matrix.context }} build-args: INVOICENINJA_VERSION=${{ steps.prep.outputs.version }} - platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.prep.outputs.tags }} - cache-from: type=gha # Updated cache type + cache-from: type=gha cache-to: type=gha,mode=max - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file + run: echo ${{ steps.docker_build.outputs.digest }}