name: Build docker image on: pull_request: branches: - "main" paths: - api/Dockerfile - web/Dockerfile concurrency: group: docker-build-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build-docker: if: github.event.pull_request.head.repo.full_name == github.repository runs-on: ${{ matrix.runs_on }} permissions: contents: read id-token: write strategy: matrix: include: - service_name: "api-amd64" platform: linux/amd64 runs_on: depot-ubuntu-24.04-4 context: "{{defaultContext}}:api" file: "Dockerfile" - service_name: "api-arm64" platform: linux/arm64 runs_on: depot-ubuntu-24.04-4 context: "{{defaultContext}}:api" file: "Dockerfile" - service_name: "web-amd64" platform: linux/amd64 runs_on: depot-ubuntu-24.04-4 context: "{{defaultContext}}" file: "web/Dockerfile" - service_name: "web-arm64" platform: linux/arm64 runs_on: depot-ubuntu-24.04-4 context: "{{defaultContext}}" file: "web/Dockerfile" steps: - name: Set up Depot CLI uses: depot/setup-action@15c09a5f77a0840ad4bce955686522a257853461 # v1.7.1 - name: Build Docker Image uses: depot/build-push-action@5f3b3c2e5a00f0093de47f657aeaefcedff27d18 # v1.17.0 with: project: ${{ vars.DEPOT_PROJECT_ID }} push: false context: ${{ matrix.context }} file: ${{ matrix.file }} platforms: ${{ matrix.platform }} build-docker-fork: if: github.event.pull_request.head.repo.full_name != github.repository runs-on: ubuntu-24.04 permissions: contents: read strategy: matrix: include: - service_name: "api-amd64" context: "{{defaultContext}}:api" file: "Dockerfile" - service_name: "web-amd64" context: "{{defaultContext}}" file: "web/Dockerfile" steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 - name: Build Docker Image uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0 with: push: false context: ${{ matrix.context }} file: ${{ matrix.file }} platforms: linux/amd64