Skip to content

Java CI

Java CI #391

Workflow file for this run

name: Java CI
on:
push:
schedule:
- cron: '0 5 */1 * *'
jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
java: [ 17, 21, 22]
experimental: [ false ]
include:
- java: 23-ea
os: ubuntu-latest
experimental: true
- java: 23-ea
os: macos-latest
experimental: true
- java: 23-ea
os: windows-latest
experimental: true
name: Build with Java ${{ matrix.java }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build with Maven
run: mvn -B -C verify
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Sonar
run: mvn -B -C org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
if: ${{ matrix.java == 21 && matrix.os == 'ubuntu-latest' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}