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@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Set up JDK 1.17 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 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@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Set up JDK 1.17 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 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@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Test all exercises using java-test-runner run: bin/test-with-test-runner - name: Archive test results uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 with: name: test-results path: exercises/**/build/results.json if: failure()