diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 7dc130b7..b72a1140 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -6,22 +6,24 @@ on: jobs: docker-build: name: Build Docker - runs-on: ubuntu-latest + runs-on: ${{ matrix.arch.os }} if: github.repository_owner == 'wg-easy' permissions: packages: write strategy: fail-fast: false matrix: - platform: - - linux/amd64 - - linux/arm64 + arch: + - platform: linux/amd64 + os: ubuntu-latest + - platform: linux/arm64 + os: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 - name: Prepare run: | - platform=${{ matrix.platform }} + platform=${{ matrix.arch.platform }} echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Docker meta @@ -51,7 +53,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - platforms: ${{ matrix.platform }} + platforms: ${{ matrix.arch.platform }} labels: ${{ steps.meta.outputs.labels }} tags: ghcr.io/wg-easy/wg-easy outputs: type=image,push-by-digest=true,name-canonical=true,push=true diff --git a/.github/workflows/deploy-edge.yml b/.github/workflows/deploy-edge.yml index 499cacf8..0a626557 100644 --- a/.github/workflows/deploy-edge.yml +++ b/.github/workflows/deploy-edge.yml @@ -13,6 +13,7 @@ concurrency: jobs: docker-build: name: Build Docker + runs-on: ${{ matrix.arch.os }} if: github.repository_owner == 'wg-easy' permissions: packages: write @@ -24,7 +25,6 @@ jobs: os: ubuntu-latest - platform: linux/arm64 os: ubuntu-24.04-arm - runs-on: ${{ matrix.arch.os }} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/deploy-pr.yml b/.github/workflows/deploy-pr.yml index 4a3f38e2..2ea72247 100644 --- a/.github/workflows/deploy-pr.yml +++ b/.github/workflows/deploy-pr.yml @@ -11,14 +11,24 @@ concurrency: jobs: docker: name: Build Docker - runs-on: ubuntu-latest + runs-on: ${{ matrix.arch.os }} if: github.repository_owner == 'wg-easy' - permissions: - packages: write - contents: read + strategy: + fail-fast: false + matrix: + arch: + - platform: linux/amd64 + os: ubuntu-latest + - platform: linux/arm64 + os: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 + - name: Prepare + run: | + platform=${{ matrix.arch.platform }} + echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -37,7 +47,7 @@ jobs: with: context: . push: false - platforms: linux/amd64,linux/arm64 + platforms: ${{ matrix.arch.platform }} tags: ghcr.io/wg-easy/wg-easy:pr cache-from: type=gha - cache-to: type=gha,mode=min + cache-to: type=gha,mode=min,scope=build-${{ env.PLATFORM_PAIR }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index adbe8cf3..043b2b19 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,7 +12,7 @@ on: jobs: docker-build: name: Build Docker - runs-on: ubuntu-latest + runs-on: ${{ matrix.arch.os }} if: | github.repository_owner == 'wg-easy' && startsWith(github.ref, 'refs/tags/v') @@ -21,15 +21,17 @@ jobs: strategy: fail-fast: false matrix: - platform: - - linux/amd64 - - linux/arm64 + arch: + - platform: linux/amd64 + os: ubuntu-latest + - platform: linux/arm64 + os: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 - name: Prepare run: | - platform=${{ matrix.platform }} + platform=${{ matrix.arch.platform }} echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Docker meta @@ -59,7 +61,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - platforms: ${{ matrix.platform }} + platforms: ${{ matrix.arch.platform }} labels: ${{ steps.meta.outputs.labels }} tags: ghcr.io/wg-easy/wg-easy outputs: type=image,push-by-digest=true,name-canonical=true,push=true