name: Test on: pull_request: branches: - 'main' push: branches: - 'main' schedule: - cron: '22 23 * * 5' jobs: test: name: Test strategy: matrix: os: [ 'ubuntu-latest', 'windows-latest', 'macOS-latest' ] java: [ '8', '11', '17', '21' ] maven: [ '3.8.8', '3.9.11' ] fail-fast: false runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: ./ with: java-version: ${{ matrix.java }} maven-version: ${{ matrix.maven }} cache-prefix: 'test-prefix-' - run: mvn -V validate -Drequire.java=${{ matrix.java }} -Drequire.maven=${{ matrix.maven }} shell: bash test-default: name: Test with defaults runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: ./ - run: mvn -V validate -Drequire.java=17 -Drequire.maven=3.9.11 shell: bash test-ok: name: Test OK runs-on: ubuntu-latest needs: [ test, test-default ] if: always() steps: - run: 'true' if: join(needs.*.result, ',') == 'success,success' - run: 'false' if: join(needs.*.result, ',') != 'success,success'