Validate Java e2e #49
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-13, windows-latest, ubuntu-latest] | |
# distribution: [ | |
# 'temurin', | |
# 'adopt', | |
# 'adopt-openj9', | |
# 'zulu', | |
# 'liberica', | |
# 'microsoft', | |
# 'semeru', | |
# 'corretto', | |
# 'dragonwell', | |
# 'sapmachine' | |
# ] # internally 'adopt-hotspot' is the same as 'adopt' | |
# version: ['21', '11', '17'] | |
# exclude: | |
# - distribution: microsoft | |
# version: 8 | |
# - distribution: dragonwell | |
# os: macos-13 | |
# include: | |
# - distribution: oracle | |
# os: macos-13 | |
# version: 17 | |
# - distribution: oracle | |
# os: windows-latest | |
# version: 21 | |
# - distribution: oracle | |
# os: ubuntu-latest | |
# version: 21 | |
# - distribution: graalvm | |
# os: macos-latest | |
# version: 17.0.12 | |
# - distribution: graalvm | |
# os: windows-latest | |
# version: 21 | |
# - distribution: graalvm | |
# os: ubuntu-latest | |
# version: 21 | |
# - distribution: graalvm | |
# os: ubuntu-latest | |
# version: '24-ea' | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - 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' | |
# - '21.0' | |
# - '17.0.7+7' | |
# include: | |
# - distribution: oracle | |
# os: ubuntu-latest | |
# version: '21.0.4' | |
# - distribution: graalvm | |
# os: ubuntu-latest | |
# version: '21.0.4' | |
# - distribution: dragonwell | |
# os: ubuntu-latest | |
# version: '11.0' | |
# - distribution: dragonwell | |
# os: ubuntu-latest | |
# version: '11.0.13+9' | |
# - distribution: sapmachine | |
# os: ubuntu-latest | |
# version: '17.0.7' | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - 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', 'dragonwell', 'sapmachine'] | |
# exclude: | |
# - distribution: dragonwell | |
# os: macos-latest | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - 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-multiple-jdks: | |
# name: ${{ matrix.distribution }} ${{ matrix.version }} - multiple jdks - ${{ 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', 'dragonwell', 'sapmachine'] | |
# exclude: | |
# - distribution: dragonwell | |
# os: macos-latest | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# distribution: ${{ matrix.distribution }} | |
# java-version: | | |
# 11 | |
# 17 | |
# - name: Verify Java env variables | |
# run: | | |
# $versionsArr = "11","17" | |
# foreach ($version in $versionsArr) | |
# { | |
# $envName = "JAVA_HOME_${version}_${env:RUNNER_ARCH}" | |
# $JavaVersionPath = [Environment]::GetEnvironmentVariable($envName) | |
# if (-not (Test-Path "$JavaVersionPath")) { | |
# Write-Host "$envName is not found" | |
# exit 1 | |
# } | |
# } | |
# shell: pwsh | |
# - name: Verify Java | |
# run: bash __tests__/verify-java.sh "17" "${{ 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-13, windows-latest, ubuntu-latest] | |
# version: ['17-ea', '15.0.0-ea.14'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - 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@v4 | |
# - 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-ea-versions-sapmachine: | |
# name: sapmachine ${{ 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', '21-ea'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# java-version: ${{ matrix.version }} | |
# distribution: sapmachine | |
# - 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-13, windows-latest, ubuntu-latest] | |
# distribution: ['temurin', 'zulu', 'liberica', 'semeru', 'sapmachine'] | |
# java-package: ['jre'] | |
# version: ['17.0'] | |
# include: | |
# - distribution: 'zulu' | |
# java-package: jre+fx | |
# version: '21' | |
# os: ubuntu-latest | |
# - distribution: 'zulu' | |
# java-package: jdk+fx | |
# version: '21.0' | |
# os: ubuntu-latest | |
# - distribution: 'liberica' | |
# java-package: jdk+fx | |
# version: '21' | |
# 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@v4 | |
# - 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: [ ubuntu-24.04] | |
distribution: ['liberica', 'zulu', 'corretto'] | |
version: ['11'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: setup-java | |
uses: ./ | |
id: setup-java | |
with: | |
distribution: ${{ matrix.distribution }} | |
java-version: ${{ matrix.version }} | |
architecture: 'x86' | |
- name: Install dependencies | |
if: matrix.os == 'ubuntu-24.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y zlib1g:i386 zlib1g-dev:i386 | |
#sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so.1 /usr/lib/libz.so.1 | |
- name: Verify Java | |
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | |
shell: bash | |
# setup-java-version-both-version-inputs-presents: | |
# name: ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: [macos-latest, windows-latest, ubuntu-latest] | |
# distribution: ['temurin', 'microsoft', 'corretto'] | |
# java-version-file: ['.java-version', '.tool-versions'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Create .java-version file | |
# shell: bash | |
# run: echo "17" > .java-version | |
# - name: Create .tool-versions file | |
# shell: bash | |
# run: echo "java 17" > .tool-versions | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# distribution: ${{ matrix.distribution }} | |
# java-version: 11 | |
# java-version-file: ${{matrix.java-version-file }} | |
# - name: Verify Java | |
# run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}" | |
# shell: bash | |
# setup-java-version-from-file-major-notation: | |
# name: ${{ matrix.distribution }} version from file X - ${{ matrix.os }} | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: [macos-latest, windows-latest, ubuntu-latest] | |
# distribution: ['temurin', 'zulu', 'liberica', 'microsoft', 'corretto'] | |
# java-version-file: ['.java-version', '.tool-versions'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Create .java-version file | |
# shell: bash | |
# run: echo "11" > .java-version | |
# - name: Create .tool-versions file | |
# shell: bash | |
# run: echo "java 11" > .tool-versions | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# distribution: ${{ matrix.distribution }} | |
# java-version-file: ${{matrix.java-version-file }} | |
# - name: Verify Java | |
# run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}" | |
# shell: bash | |
# setup-java-version-from-file-major-minor-patch-notation: | |
# name: ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: [macos-latest, windows-latest, ubuntu-latest] | |
# distribution: ['adopt', 'adopt-openj9', 'zulu'] | |
# java-version-file: ['.java-version', '.tool-versions'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Create .java-version file | |
# shell: bash | |
# run: echo "17.0.10" > .java-version | |
# - name: Create .tool-versions file | |
# shell: bash | |
# run: echo "java 17.0.10" > .tool-versions | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# distribution: ${{ matrix.distribution }} | |
# java-version-file: ${{matrix.java-version-file }} | |
# - name: Verify Java | |
# run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}" | |
# shell: bash | |
# setup-java-version-from-file-major-minor-patch-with-dist: | |
# name: ${{ matrix.distribution }} version from file 'openjdk64-17.0.10' - ${{ matrix.os }} | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: [macos-latest, windows-latest, ubuntu-latest] | |
# distribution: ['adopt', 'zulu', 'liberica'] | |
# java-version-file: ['.java-version', '.tool-versions'] | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Create .java-version file | |
# shell: bash | |
# run: echo "openjdk64-17.0.10" > .java-version | |
# - name: Create .tool-versions file | |
# shell: bash | |
# run: echo "java openjdk64-17.0.10" > .tool-versions | |
# - name: setup-java | |
# uses: ./ | |
# id: setup-java | |
# with: | |
# distribution: ${{ matrix.distribution }} | |
# java-version-file: ${{matrix.java-version-file }} | |
# - name: Verify Java | |
# run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}" | |
# shell: bash |