name: Java on: pull_request: paths: - "**/*.java" - "**/*.gradle" push: branches: - main workflow_dispatch: jobs: build: name: Check if tests compile cleanly with starter sources runs-on: ubuntu-22.04 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Set up JDK 1.17 uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 with: java-version: 17 distribution: "temurin" - name: Check if tests compile cleanly with starter sources run: ./gradlew compileStarterTestJava --continue working-directory: exercises lint: name: Lint Java files using Checkstyle runs-on: ubuntu-22.04 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Set up JDK 1.17 uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 with: java-version: 17 distribution: "temurin" - name: Run checkstyle run: ./gradlew check --exclude-task test --continue working-directory: exercises test: name: Test all exercises using java-test-runner runs-on: ubuntu-22.04 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Test all exercises using java-test-runner run: bin/test-with-test-runner - name: Archive test results uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 with: name: test-results path: exercises/**/build/results.json if: failure()