Merge pull request #230 from cconlon/deadlockFixes #152
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: CI | |
on: | |
push: | |
branches: [ 'master', 'main', 'release/**' ] | |
pull_request: | |
branches: [ 'master' ] | |
jobs: | |
# Oracle JDK (Linux, Mac) | |
linux-oracle: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '17', '21' ] | |
wolfssl_configure: [ '--enable-jni' ] | |
name: ${{ matrix.os }} (Oracle JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "oracle" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# Zulu JDK (Linux, Mac) | |
linux-zulu: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '8', '11', '17', '21' ] | |
wolfssl_configure: [ '--enable-jni' ] | |
name: ${{ matrix.os }} (Zulu JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "zulu" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# Corretto JDK (Linux, Mac) | |
linux-corretto: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '8', '11', '17', '21' ] | |
wolfssl_configure: [ '--enable-jni' ] | |
name: ${{ matrix.os }} (Corretto JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "corretto" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# Temurin JDK (Linux, Mac) | |
# JDK 8 seems to have been removed from Temurin macos, with 8 we see the error | |
# Could not find satisfied version for SemVer '8' | |
linux-temurin: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '11', '17', '21' ] | |
wolfssl_configure: [ '--enable-jni' ] | |
name: ${{ matrix.os }} (Temurin JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "temurin" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# Microsoft JDK (Linux, Mac) | |
linux-microsoft: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '11.0.19', '17.0.7', '21.0.0' ] | |
wolfssl_configure: [ '--enable-jni' ] | |
name: ${{ matrix.os }} (Microsoft JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "microsoft" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# -------------------- enable-all sanity checks ----------------------- | |
# Only check one Linux and Mac JDK version with --enable-jni --enable-all | |
# as sanity. Using Zulu, but this can be expanded if needed. | |
linux-zulu-all: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'macos-latest' ] | |
jdk_version: [ '11' ] | |
wolfssl_configure: [ '--enable-jni --enable-all' ] | |
name: ${{ matrix.os }} (Zulu JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure}}) | |
uses: ./.github/workflows/linux-common.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "zulu" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# ------------------ Facebook Infer static analysis ------------------- | |
# Run Facebook infer over PR code, only running on Linux with one | |
# JDK/version for now. | |
fb-infer: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest' ] | |
jdk_version: [ '11' ] | |
wolfssl_configure: [ '--enable-jni --enable-all' ] | |
name: Facebook Infer (${{ matrix.os }} Zulu JDK ${{ matrix.jdk_version }}, ${{ matrix.wolfssl_configure }}) | |
uses: ./.github/workflows/infer.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "zulu" | |
jdk_version: ${{ matrix.jdk_version }} | |
wolfssl_configure: ${{ matrix.wolfssl_configure }} | |
# ----------------------- Android Gradle build ------------------------ | |
# Run Android gradle build over PR code, only running on Linux with one | |
# JDK/version for now. | |
android-gradle: | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest' ] | |
jdk_version: [ '21' ] | |
name: Android Gradle (${{ matrix.os }} Zulu JDK ${{ matrix.jdk_version }}) | |
uses: ./.github/workflows/android_gradle.yml | |
with: | |
os: ${{ matrix.os }} | |
jdk_distro: "zulu" | |
jdk_version: ${{ matrix.jdk_version }} | |