1name: Build 2on: 3 push: 4 branches: 5 - master 6 pull_request: 7 8jobs: 9 test: 10 runs-on: ${{ matrix.os }} 11 strategy: 12 matrix: 13 os: [ubuntu-latest, windows-latest, macOS-latest] 14 # choosing to run a reduced set of LTS, current, and next, to balance coverage and execution time 15 java: [8, 17, 21] 16 fail-fast: false 17 name: Test JDK ${{ matrix.java }}, ${{ matrix.os }} 18 steps: 19 - name: Checkout 20 uses: actions/checkout@v4 21 22 - name: Set up JDK ${{ matrix.java }} 23 uses: actions/setup-java@v3 24 with: 25 java-version: ${{ matrix.java }} 26 distribution: 'temurin' 27 cache: 'maven' 28 29 - name: Maven Compile 30 run: mvn -X compile -B --file pom.xml 31 32 - name: Maven Verify 33 run: mvn -X verify -B --file pom.xml 34... 35