Merge pull request #828 from modcluster/dependabot/maven/container/to… #836
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: CI | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
ci: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
# Keep this list as: all supported LTS JDKs | |
java-compilation: [ 17, 21 ] | |
# Keep this list as: all supported LTS JDKs, the latest GA JDK, and the latest EA JDK (if available). | |
java-runtime: [ 11, 17, 21, 22, 23-ea ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java-compilation }} (compilation) | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java-compilation }} | |
- name: Build with Maven using JDK ${{ matrix.java-compilation }} (compilation only) | |
run: mvn --batch-mode --no-transfer-progress verify --define net.bytebuddy.experimental=true --define skipTests | |
- name: Cache local Maven repository | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: Set up JDK ${{ matrix.java-runtime }} (runtime) | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java-runtime }} | |
- name: Build with Maven using JDK ${{ matrix.java-runtime }} | |
# To support Windows PowerShell, a space between -D property=true is required. | |
run: mvn --batch-mode --no-transfer-progress verify --define net.bytebuddy.experimental=true --define maven.main.skip=true | |
# Code Coverage (runs once per matrix) | |
- name: Build with coverage with Maven using JDK ${{ matrix.runtime }} | |
if: ${{ matrix.java-compilation == '17' && matrix.java-runtime == '11' && matrix.os == 'ubuntu-latest' }} | |
run: mvn --batch-mode --no-transfer-progress --activate-profiles=coverage verify --define maven.main.skip=true | |
- name: Upload JaCoCo report | |
if: ${{ matrix.java-compilation == '17' && matrix.java-runtime == '11' && matrix.os == 'ubuntu-latest' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jacoco | |
path: code-coverage/target/site/jacoco-aggregate |