aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/maven.yml
blob: fe0ba64fce1547b5cb70675440afff7ca2c31a7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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:
  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']
        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