Run CI Tests on Windows #1231
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: tests | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
checkstyle: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: true | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ matrix.job.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ matrix.job.os }}-m2 | |
- name: Run checkstyle | |
run: mvn checkstyle:check | |
run_unit_tests: | |
needs: checkstyle | |
runs-on: ${{ matrix.job.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
job: | |
- os: ubuntu-22.04 | |
- os: macos-12 | |
- os: windows-latest | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ matrix.job.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ matrix.job.os }}-m2 | |
- name: Run Andy unit tests | |
run: mvn test -pl andy -DexcludedGroups=assignments | |
run_assignment_tests: | |
needs: checkstyle | |
runs-on: ${{ matrix.job.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
job: | |
- os: ubuntu-22.04 | |
- os: macos-12 | |
- os: windows-latest | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ matrix.job.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ matrix.job.os }}-m2 | |
- name: Run Andy in all assignments | |
run: mvn test -pl andy -Dgroups=assignments | |
run_weblab_runner_tests: | |
needs: checkstyle | |
runs-on: ${{ matrix.job.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
job: | |
- os: ubuntu-22.04 | |
- os: macos-12 | |
- os: windows-latest | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
steps: | |
- name: Checkout the repository # Anchors not available in github actions :( | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ matrix.job.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ matrix.job.os }}-m2 | |
- name: Compile and install everything | |
run: mvn -U clean install -pl andy -DskipTests | |
- name: Run Weblab runner tests | |
run: mvn test -pl weblab-runner -DexcludedGroups=selenium |