Release Core to Maven CI/CD #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Requests | |
on: | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
branches: | |
- main | |
jobs: | |
build: | |
name: Create Pull Request Build for ${{ matrix.os_prefix }} (${{ matrix.arch }}) | |
runs-on: ${{ matrix.os }} | |
permissions: | |
pull-requests: write | |
contents: read | |
strategy: | |
matrix: | |
include: | |
# compiling for arm32 needs a self-hosted runner on Raspi OS (32-bit) | |
- os: self-hosted | |
os_prefix: linux | |
arch: arm | |
- os: ubuntu-latest | |
os_prefix: linux | |
arch: x64 | |
- os: windows-latest | |
os_prefix: windows | |
arch: x64 | |
- os: macos-latest | |
os_prefix: macos | |
arch: x64 | |
- os: macos-latest | |
os_prefix: macos | |
arch: aarch64 | |
- os: macos-latest | |
os_prefix: linux | |
arch: aarch64 | |
steps: | |
- 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 Ant | |
uses: cedx/setup-ant@v3 | |
- name: Build Release | |
run: ant -noinput -buildfile build/build.xml ${{ matrix.os_prefix }}-dist -Dversion="${{ github.sha }}" | |
- name: Add artifact | |
uses: actions/upload-artifact@v3 | |
id: upload | |
with: | |
name: processing-${{github.sha}}${{ matrix.os_prefix }}-${{ matrix.arch }} | |
path: ./build/${{ matrix.os_prefix }}/processing-${{github.sha}}-${{ matrix.os_prefix}}-* | |
retention-days: 5 | |
# TODO: Merge into one comment and fix the link | |
# - uses: mshick/add-pr-comment@v2 | |
# with: | |
# message-id: "build-artifact ${{ matrix.os_prefix }} ${{ matrix.arch }}" | |
# message: | | |
# Build artifacts for ${{ matrix.os_prefix }} (${{ matrix.arch }}) have been created. | |
# Download the artifacts [here](${{ steps.upload.outputs.artifact-id }}). |