Skip to content

Validate Java e2e

Validate Java e2e #48

Workflow file for this run

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: [windows-latest, 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 zlib1g-dev
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