Skip to content

Fix javadoc & test javadoc in CI #421

Fix javadoc & test javadoc in CI

Fix javadoc & test javadoc in CI #421

Workflow file for this run

name: tests
on:
push:
branches: [master, stable-*]
pull_request:
branches: [master, stable-*]
schedule:
# Every Sunday, rerun
- cron: "0 12 * * 0"
jobs:
tests:
name: Java ${{ matrix.java-version }} ${{ matrix.os }} ${{ matrix.dockcross-only }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
java-distribution: [adopt]
java-version: [11, 17, 21, 22]
dockcross-only: ["android-arm", "android-arm64", "linux-arm64", "linux-armv5", "linux-armv7", "linux-s390x", "linux-ppc64le", "linux-x64", "linux-x86", "windows-static-x64", "windows-static-x86"]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v2
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Format check
run: ./gradlew spotlessCheck
- name: Tests
run: ./gradlew clean test -Ph3SystemPrune=true "-Ph3DockcrossOnly=${{ matrix.dockcross-only }}"
env:
OCI_EXE: docker
- name: Format check for C
run: git diff --exit-code
- uses: actions/upload-artifact@v4
name: Upload artifacts
if: ${{ matrix.java-version == 11 }}
with:
name: docker-built-shared-objects-${{ matrix.dockcross-only }}
path: |
src/main/resources/*/*.so
src/main/resources/*/*.dll
if-no-files-found: error
tests-new-dockcross:
name: Dockcross ${{ matrix.dockcross-tag }} Java ${{ matrix.java-version }} ${{ matrix.os }} ${{ matrix.dockcross-only }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
java-distribution: [adopt]
java-version: [21]
dockcross-tag: ["latest"]
dockcross-only: ["android-arm", "android-arm64", "linux-arm64", "linux-armv5", "linux-armv7", "linux-s390x", "linux-ppc64le", "linux-x64", "linux-x86", "windows-static-x64", "windows-static-x86"]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v4
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Tests
run: ./gradlew clean test -Ph3SystemPrune=true "-Ph3DockcrossTag=${{ matrix.dockcross-tag }}" "-Ph3DockcrossOnly=${{ matrix.dockcross-only }}"
env:
OCI_EXE: docker
tests-no-docker:
name: Java (No Docker) ${{ matrix.java-version }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# TODO: Docker on macos-latest running is not working
# TODO: Windows pinned back
os: [macos-latest, windows-2022]
java-distribution: [adopt]
java-version: [11, 17, 21, 22]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v2
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Tests
run: ./gradlew clean test
- uses: actions/upload-artifact@v4
name: Upload Mac OS Artifacts
if: ${{ matrix.os == 'macos-latest' && matrix.java-version == 11 }}
with:
name: macos-built-shared-objects
path: src/main/resources/*/*.dylib
if-no-files-found: error
tests-coverage:
name: Java (Coverage) ${{ matrix.java-version }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
java-distribution: [adopt]
java-version: [21]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v2
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Coverage report
run: |
./gradlew clean test jacocoTestReport coverallsJacoc javadoc -Ph3UseDocker=false -Ph3TestSystem=true -Ph3AdditionalArgLine="-Djava.library.path=./src/main/resources/linux-x64/"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tests-use-built-artifacts:
name: Java (Built Artifacts) ${{ matrix.java-version }} ${{ matrix.os }}
needs:
- tests
- tests-no-docker
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
java-distribution: [adopt]
java-version: [11]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v2
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Download Docker binaries
uses: actions/[email protected]
with:
pattern: docker-built-shared-objects-*
merge-multiple: true
path: src/main/resources/
- name: Download Mac binaries
uses: actions/[email protected]
with:
name: macos-built-shared-objects
path: src/main/resources/
- name: Download and test
run: |
./gradlew clean test -Ph3GithubArtifactsUse=true -Ph3GithubArtifactsByRun=true
env:
GH_TOKEN: ${{ github.token }}
tests-native:
name: Native image ${{ matrix.java-version }} ${{ matrix.os }}
needs:
- tests
- tests-no-docker
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-22.04 ]
java-distribution: [ graalvm ]
java-version: [ 21 ]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v4
with:
distribution: "${{ matrix.java-distribution }}"
java-version: "${{ matrix.java-version }}"
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- uses: actions/cache@v4
id: gradle-cache
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Download Docker binaries
uses: actions/[email protected]
with:
pattern: docker-built-shared-objects-*
merge-multiple: true
path: src/main/resources/
- name: Download Mac binaries
uses: actions/[email protected]
with:
name: macos-built-shared-objects
path: src/main/resources/
- name: Download and test
run: |
./gradlew clean test -Pnative -Ph3GithubArtifactsUse=true -Ph3GithubArtifactsByRun=true
env:
GH_TOKEN: ${{ github.token }}