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.6' ] fail-fast: false runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - 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-deault: name: Test with defaults runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: ./ - run: mvn -V validate -Drequire.java=17 -Drequire.maven=3.9.6 shell: bash test-ok: name: Test OK runs-on: ubuntu-latest needs: [ test, test-deault ] if: always() steps: - run: echo "needs.test.result=${{ needs.test.result }} needs.test-deault.result=${{ needs.test-deault.result }}" - run: 'true' if: needs.test.result == 'success' && needs.test-deault.result == 'success' - run: 'false' if: needs.test.result != 'success' || needs.test-deault.result != 'success'