mirror of
https://github.com/gradle/actions
synced 2024-11-30 13:22:15 +00:00
fb14e0ee5b
After the '[bot] update dist directory' commit, we run a full test suite. This will now use the content from the 'dist' directory, rather than regenerating this content in the test.
94 lines
3.5 KiB
YAML
94 lines
3.5 KiB
YAML
name: Test detect java toolchains
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cache-key-prefix:
|
|
type: string
|
|
runner-os:
|
|
type: string
|
|
default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
|
|
skip-dist:
|
|
type: boolean
|
|
default: false
|
|
|
|
env:
|
|
SKIP_DIST: ${{ inputs.skip-dist }}
|
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: detect-java-toolchain-${{ inputs.cache-key-prefix }}
|
|
|
|
jobs:
|
|
# Test that pre-installed runner JDKs are detected
|
|
pre-installed-toolchains:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Gradle
|
|
uses: ./setup-gradle
|
|
- name: List detected toolchains
|
|
shell: bash
|
|
working-directory: .github/workflow-samples/groovy-dsl
|
|
run: |
|
|
./gradlew --info javaToolchains > output.txt
|
|
cat output.txt
|
|
- name: Verify detected toolchains
|
|
shell: bash
|
|
working-directory: .github/workflow-samples/groovy-dsl
|
|
run: |
|
|
grep -q 'Eclipse Temurin JDK 1.8' output.txt || (echo "::error::Did not detect preinstalled JDK 1.8" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 11' output.txt || (echo "::error::Did not detect preinstalled JDK 11" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 17' output.txt || (echo "::error::Did not detect preinstalled JDK 17" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 21' output.txt || (echo "::error::Did not detect preinstalled JDK 21" && exit 1)
|
|
|
|
# Test that JDKs provisioned by setup-java are detected
|
|
setup-java-installed-toolchain:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Java 20
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: 20
|
|
- name: Setup Java 16
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: 16
|
|
- name: Setup Gradle
|
|
uses: ./setup-gradle
|
|
- name: List detected toolchains
|
|
shell: bash
|
|
working-directory: .github/workflow-samples/groovy-dsl
|
|
run: |
|
|
./gradlew --info javaToolchains > output.txt
|
|
cat output.txt
|
|
- name: Verify setup JDKs are detected
|
|
shell: bash
|
|
working-directory: .github/workflow-samples/groovy-dsl
|
|
run: |
|
|
grep -q 'Eclipse Temurin JDK 16' output.txt || (echo "::error::Did not detect setup-java installed JDK 16" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 20' output.txt || (echo "::error::Did not detect setup-java installed JDK 20" && exit 1)
|
|
- name: Verify pre-installed toolchains are detected
|
|
shell: bash
|
|
working-directory: .github/workflow-samples/groovy-dsl
|
|
run: |
|
|
grep -q 'Eclipse Temurin JDK 1.8' output.txt || (echo "::error::Did not detect preinstalled JDK 1.8" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 11' output.txt || (echo "::error::Did not detect preinstalled JDK 11" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 17' output.txt || (echo "::error::Did not detect preinstalled JDK 17" && exit 1)
|
|
grep -q 'Eclipse Temurin JDK 21' output.txt || (echo "::error::Did not detect preinstalled JDK 21" && exit 1)
|