12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- name: Test
- on:
- workflow_call:
- inputs:
- cache-read-only:
- type: boolean
- required: false
- no-build-cache:
- type: boolean
- required: false
- secrets:
- GRADLE_ENTERPRISE_ACCESS_KEY:
- required: false
- GE_CACHE_USERNAME:
- required: false
- GE_CACHE_PASSWORD:
- required: false
- jobs:
- test:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- test-java-version:
- - 8
- - 11
- - 17
- vm:
- - temurin
- - adopt-openj9
- fail-fast: false
- steps:
- - uses: actions/checkout@v3
- - id: setup-test-java
- name: Set up JDK ${{ matrix.test-java-version }}-${{ matrix.vm }} for running tests
- uses: actions/setup-java@v2
- with:
- distribution: ${{ matrix.vm }}
- java-version: ${{ matrix.test-java-version }}
- - name: Set up JDK 11 for running Gradle
- uses: actions/setup-java@v2
- with:
- distribution: temurin
- java-version: 11
- - name: Start deadlock detector
- run: .github/scripts/deadlock-detector.sh
- - name: Test
- env:
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
- GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
- uses: gradle/gradle-build-action@v2
- with:
- arguments: check -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false ${{ inputs.no-build-cache && ' --no-build-cache' || '' }}
- # only push cache for one matrix option since github action cache space is limited
- cache-read-only: ${{ inputs.cache-read-only || matrix.test-java-version != 11 || matrix.vm != 'hotspot' }}
- - name: Upload deadlock detector artifacts if any
- if: always()
- uses: actions/upload-artifact@v2
- with:
- name: deadlock-detector-test-${{ matrix.test-java-version }}
- path: /tmp/deadlock-detector-*
- if-no-files-found: ignore
- - name: Upload jvm crash dump files if any
- if: always()
- uses: actions/upload-artifact@v2
- with:
- name: javacore-test-${{ matrix.test-java-version }}
- path: |
- "**/hs_err_pid*.log"
- "**/javacore.*.txt"
- "**/Snap.*.trc"
- "**/core.*.dmp"
- "**/jitdump.*.dmp"
- if-no-files-found: ignore
|