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"]' download-dist: type: boolean default: false env: DOWNLOAD_DIST: ${{ inputs.download-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: matrix: os: ${{fromJSON(inputs.runner-os)}} include: - os: windows-latest script-suffix: '.bat' runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v3 - name: Download distribution if required uses: ./.github/actions/download-dist - name: Setup Gradle with v6.9 uses: ./ 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: ./ 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: ./ with: gradle-version: release-candidate - name: Test use release-candidate working-directory: .github/workflow-samples/no-wrapper run: gradle help gradle-versions: strategy: 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@v3 - name: Download distribution if required uses: ./.github/actions/download-dist - name: Setup Java uses: actions/setup-java@v3 with: distribution: temurin java-version: 8 - name: Setup Gradle uses: ./ with: cache-read-only: false # For testing, allow writing cache entries on non-default branches gradle-version: ${{ matrix.gradle }} - 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@v6 with: script: | core.setFailed('No build scan detected')