Merge pull request #2927 from mybatis/renovate/maven-3.x #1631
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: Java CI | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
java: [11, 17, 20, 21] | |
distribution: ['zulu'] | |
fail-fast: false | |
max-parallel: 4 | |
name: Test JDK ${{ matrix.java }}, ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set JDK from jdk.java.net | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.java }} | |
if: ${{ matrix.java != '11' && matrix.java != '17' }} | |
- name: Set up older JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: ${{ matrix.distribution }} | |
if: ${{ matrix.java == '11' || matrix.java == '17' }} | |
- name: Print JDK Version | |
run: java -version | |
- name: Cache local Maven m2 | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-m2 | |
- name: Set argLine command line option | |
if: ${{ matrix.java == '11' }} | |
run: echo 'ARG_LINE=-D"argLine=--illegal-access=permit"' >> $GITHUB_ENV | |
- name: Run all tests | |
if: ${{ matrix.os == 'ubuntu-latest' && matrix.java == '11' }} | |
run: echo 'ARG_LINE=-D"excludedGroups="' >> $GITHUB_ENV | |
- name: Skip tests that require illegal reflective access | |
if: ${{ matrix.os == 'ubuntu-latest' && matrix.java != '11' }} | |
run: echo 'ARG_LINE=-D"excludedGroups=RequireIllegalAccess"' >> $GITHUB_ENV | |
- name: Skip tests that require illegal reflective access | |
if: ${{ matrix.os != 'ubuntu-latest' && matrix.java != '11' }} | |
run: echo 'ARG_LINE=-D"excludedGroups=TestcontainersTests,RequireIllegalAccess"' >> $GITHUB_ENV | |
- name: Active Profiles | |
run: ./mvnw help:active-profiles | |
- name: Test with Maven | |
if: ${{ matrix.os != 'windows-latest' }} | |
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" $ARG_LINE | |
- name: Test with Maven | |
if: ${{ matrix.os == 'windows-latest' && matrix.java == '11' }} | |
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" -D"argLine=--illegal-access=permit" | |
- name: Test with Maven | |
if: ${{ matrix.os == 'windows-latest' && matrix.java != '11' }} | |
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" -D"excludedGroups=TestcontainersTests,RequireIllegalAccess" |