name: Validate Java e2e on: push: branches: - main - releases/* paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' schedule: - cron: '0 */12 * * *' workflow_dispatch: jobs: setup-java-major-versions: name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] distribution: ['temurin', 'adopt', 'adopt-openj9', 'zulu', 'liberica', 'microsoft', 'corretto' ] # internally 'adopt-hotspot' is the same as 'adopt' version: ['8', '11', '16'] exclude: - distribution: microsoft version: 8 steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: java-version: ${{ matrix.version }} distribution: ${{ matrix.distribution }} - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash setup-java-major-minor-versions: name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }} needs: setup-java-major-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] distribution: ['temurin', 'zulu', 'liberica'] version: - '11.0' - '8.0.302' - '16.0.2+7' steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: java-version: ${{ matrix.version }} distribution: ${{ matrix.distribution }} - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash setup-java-check-latest: name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }} needs: setup-java-major-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] distribution: ['temurin', 'zulu', 'liberica'] steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: distribution: ${{ matrix.distribution }} java-version: 11 check-latest: true - name: Verify Java run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}" shell: bash setup-java-ea-versions-zulu: name: zulu ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }} needs: setup-java-major-minor-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] version: ['17-ea', '15.0.0-ea.14'] steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: java-version: ${{ matrix.version }} distribution: zulu - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash setup-java-ea-versions-temurin: name: temurin ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }} needs: setup-java-major-minor-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] version: ['17-ea'] steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: java-version: ${{ matrix.version }} distribution: temurin - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash setup-java-custom-package-type: name: ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} needs: setup-java-major-minor-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] distribution: ['temurin', 'zulu', 'liberica'] java-package: ['jre'] version: ['17.0'] include: - distribution: 'zulu' java-package: jre+fx version: '8' os: ubuntu-latest - distribution: 'zulu' java-package: jdk+fx version: '8.0.242' os: ubuntu-latest - distribution: 'liberica' java-package: jdk+fx version: '8' os: ubuntu-latest - distribution: 'liberica' java-package: jre+fx version: '11' os: ubuntu-latest - distribution: 'corretto' java-package: jre version: '8' os: windows-latest steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: java-version: ${{ matrix.version }} java-package: ${{ matrix.java-package }} distribution: ${{ matrix.distribution }} - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash # Only Liberica and Zulu provide x86 setup-java-x86: name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} needs: setup-java-major-minor-versions runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: # x86 is not supported on macOS os: [windows-latest, ubuntu-latest] distribution: ['liberica', 'zulu', 'corretto'] version: ['11'] steps: - name: Checkout uses: actions/checkout@v3 - name: setup-java uses: ./ id: setup-java with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.version }} architecture: 'x86' - name: Verify Java run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" shell: bash # Only Microsoft provides AArch64. However, GitHub-hosted runners do not support this architecture.