name: Test provision Gradle versions on: workflow_call: inputs: cache-key-prefix: type: string default: '0' runner-os: type: string default: '["ubuntu-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 permissions: contents: read jobs: # Tests for executing with different Gradle versions. # Each build verifies that it is executed with the expected Gradle version. provision-gradle: strategy: max-parallel: 1 fail-fast: false matrix: os: ${{fromJSON(inputs.runner-os)}} runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - 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: Test use current working-directory: .github/workflow-samples/no-wrapper run: gradle help - name: Check current version output parameter if: ${{ !startsWith(steps.gradle-current.outputs.gradle-version , '8.') }} uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | core.setFailed('Gradle version parameter not set correctly: value was "${{ steps.gradle-current.outputs.gradle-version }}"') provision-gradle-version: strategy: fail-fast: false matrix: gradle: ["8.11", 8.9, 8.1, 7.6.4, 6.9.4, 5.6.4, 4.10.3, 3.5.1] os: ${{fromJSON(inputs.runner-os)}} include: - java-version: 11 - 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 java-version: 8 exclude: - os: macos-latest # Java 8 is not supported on macos-latest, so we cannot test Gradle 3.5.1 gradle: 3.5.1 runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Initialize integ-test uses: ./.github/actions/init-integ-test - name: Setup Java uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 with: distribution: temurin java-version: ${{ matrix.java-version }} - 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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | core.setFailed('No Build Scan detected')