name: Pull Requests with Gradle on: pull_request: paths-ignore: - '**/*.md' branches: - main jobs: test: runs-on: ubuntu-latest name: Test Processing steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Install Java uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Build with Gradle run: ./gradlew test build: name: (${{ matrix.os_prefix }}/${{ matrix.arch }}) Create Processing Build runs-on: ${{ matrix.os }} needs: test strategy: fail-fast: false matrix: include: - os: ubuntu-24.04-arm os_prefix: linux arch: aarch64 binary: processing*.snap - os: ubuntu-latest os_prefix: linux arch: x64 binary: processing*.snap - os: windows-latest os_prefix: windows arch: x64 binary: msi/Processing-*.msi - os: macos-latest os_prefix: macos arch: x64 binary: dmg/Processing-*.dmg - os: macos-latest os_prefix: macos arch: aarch64 binary: dmg/Processing-*.dmg steps: - name: Install Snapcraft if: runner.os == 'Linux' uses: samuelmeuli/action-snapcraft@v3 - name: Install LXD if: runner.os == 'Linux' uses: canonical/setup-lxd@main - name: Checkout Repository uses: actions/checkout@v4 - name: Install Java uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' architecture: ${{ matrix.arch }} - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Build with Gradle run: ./gradlew packageDistributionForCurrentOS - name: Add artifact uses: actions/upload-artifact@v4 with: name: processing-${{ matrix.os_prefix }}-${{ matrix.arch }}-pr_${{ github.event.pull_request.number }} retention-days: 5 path: app/build/compose/binaries/main/${{ matrix.binary }}