name: 'Build Images for Review' on: pull_request: paths: - .github/actions/** - .github/workflows/image-build-review.yaml - scripts/build/** - docker/** jobs: changes: runs-on: ubuntu-latest permissions: pull-requests: read outputs: apps: ${{ steps.filter.outputs.changes }} steps: - uses: actions/checkout@v4 with: persist-credentials: false - uses: dorny/paths-filter@v3 id: filter with: filters: | klipper: - .github/actions/** - .github/workflows/image-build-review.yaml - scripts/build/** - docker/klipper/** klipperscreen: - .github/actions/** - .github/workflows/image-build-review.yaml - scripts/build/** - docker/klipperscreen/** moonraker: - .github/actions/** - .github/workflows/image-build-review.yaml - scripts/build/** - docker/moonraker/** ustreamer: - .github/actions/** - .github/workflows/image-build-review.yaml - scripts/build/** - docker/ustreamer/** build: needs: changes if: ${{ needs.changes.outputs.apps != '' && toJson(fromJson(needs.changes.outputs.apps)) != '[]' }} strategy: fail-fast: false matrix: app: ${{ fromJSON(needs.changes.outputs.apps) }} platform: - linux/amd64 - linux/arm/v6 - linux/arm/v7 - linux/arm64/v8 runs-on: ubuntu-24.04 steps: - name: "[prind] checkout" uses: actions/checkout@v4 with: persist-credentials: false - name: "[prind] set up build environment" uses: ./.github/actions/image-build-common - name: "[prind] build" run: | python3 scripts/build/build.py ${{ matrix.app }} \ --backfill 0 \ --platform ${{ matrix.platform }} \ --force