| # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven |
| |
| name: Java CI with Maven |
| |
| on: |
| workflow_dispatch: |
| push: |
| branches: [ "main" ] |
| pull_request: |
| branches: [ "main" ] |
| |
| jobs: |
| build: |
| name: Test with Java ${{ matrix.jdk }} ${{ matrix.os }} |
| runs-on: ${{ matrix.os }} |
| strategy: |
| fail-fast: false |
| matrix: |
| jdk: ['8', '11', '17', '21', '23'] |
| os: [ubuntu-latest, windows-latest] |
| |
| steps: |
| - uses: actions/checkout@v4 |
| - name: Set up JDK ${{ matrix.jdk }} |
| uses: actions/setup-java@v3 |
| with: |
| java-version: ${{ matrix.jdk }} |
| distribution: 'temurin' |
| cache: maven |
| - name: Build with Maven |
| run: mvn -B package checkstyle:check spotbugs:check --file pom.xml |
| |
| # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive |
| #- name: Update dependency graph |
| # uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 |