mirror of
https://github.com/gradle/actions.git
synced 2025-08-18 06:31:28 +08:00
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.
121 lines
3.9 KiB
YAML
121 lines
3.9 KiB
YAML
name: Test provision Gradle versions
|
|
|
|
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: provision-gradle-versions-${{ inputs.cache-key-prefix }}
|
|
GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true
|
|
|
|
jobs:
|
|
# Tests for executing with different Gradle versions.
|
|
# Each build verifies that it is executed with the expected Gradle version.
|
|
provision-gradle:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
include:
|
|
- os: windows-latest
|
|
script-suffix: '.bat'
|
|
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 with v6.9
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
gradle-version: 6.9
|
|
- name: Test uses Gradle v6.9
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help "-DgradleVersionCheck=6.9"
|
|
- name: Setup Gradle with v7.1.1
|
|
uses: ./setup-gradle
|
|
with:
|
|
gradle-version: 7.1.1
|
|
- name: Test uses Gradle v7.1.1
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help "-DgradleVersionCheck=7.1.1"
|
|
- name: Setup Gradle with release-candidate
|
|
uses: ./setup-gradle
|
|
with:
|
|
gradle-version: release-candidate
|
|
- name: Test use release-candidate
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help
|
|
- name: Setup Gradle with current
|
|
id: gradle-current
|
|
uses: ./setup-gradle
|
|
with:
|
|
gradle-version: current
|
|
- name: Check current version output parameter
|
|
if: ${{ !startsWith(steps.gradle-current.outputs.gradle-version , '8.') }}
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
core.setFailed('Gradle version parameter not set correctly: value was "${{ steps.gradle-current.outputs.gradle-version }}"')
|
|
|
|
gradle-versions:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gradle: [7.3, 6.9, 5.6.4, 4.10.3, 3.5.1]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
include:
|
|
- gradle: 5.6.4
|
|
build-root-suffix: -gradle-5
|
|
- gradle: 4.10.3
|
|
build-root-suffix: -gradle-4
|
|
- gradle: 3.5.1
|
|
build-root-suffix: -gradle-4
|
|
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
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 8
|
|
- name: Setup Gradle
|
|
id: setup-gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
|
gradle-version: ${{ matrix.gradle }}
|
|
- name: Check output parameter
|
|
if: ${{ steps.setup-gradle.outputs.gradle-version != matrix.gradle }}
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
core.setFailed('Gradle version parameter not set correctly: value was "${{ steps.setup-gradle.outputs.gradle-version }}"')
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-wrapper${{ matrix.build-root-suffix }}
|
|
run: gradle help "-DgradleVersionCheck=${{matrix.gradle}}"
|
|
- name: Check Build Scan url
|
|
if: ${{ !steps.gradle.outputs.build-scan-url }}
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
core.setFailed('No Build Scan detected')
|
|
|
|
|