name: Pull Request Tests

on: [pull_request, workflow_dispatch]

permissions:
  contents: read # to fetch code (actions/checkout)

jobs:
  testPR:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 17
      uses: actions/setup-java@v1
      with:
        java-version: 17
    - name: Fetch latest Arc
      run: git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
    - name: Setup Gradle
      uses: gradle/gradle-build-action@v2
    - name: Run unit tests
      run: ./gradlew tests:test --stacktrace --rerun
    - name: Run unit tests and build JAR
      run: ./gradlew desktop:dist
    - name: Upload desktop JAR for testing
      uses: actions/upload-artifact@v4
      with:
        name: Desktop JAR (zipped)
        path: desktop/build/libs/Mindustry.jar
