name: Test Gradle execution on: workflow_call: inputs: cache-key-prefix: type: string runner-os: type: string default: '["ubuntu-latest"]' env: GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: execution-${{ 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. gradle-execution: 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@v2 - name: Test use defined Gradle version uses: ./ with: gradle-version: 6.9 build-root-directory: .github/workflow-samples/no-wrapper arguments: help -DgradleVersionCheck=6.9 - name: Test use Gradle version alias uses: ./ with: gradle-version: release-candidate build-root-directory: .github/workflow-samples/no-wrapper arguments: help - name: Test use defined Gradle executable uses: ./ with: gradle-executable: .github/workflow-samples/groovy-dsl/gradlew${{ matrix.script-suffix }} build-root-directory: .github/workflow-samples/no-wrapper arguments: help -DgradleVersionCheck=7.4.2 gradle-versions: strategy: matrix: gradle: [7.3, 6.9, 5.6.4, 4.10.3] os: ${{fromJSON(inputs.runner-os)}} include: - gradle: 5.6.4 build-root-suffix: -gradle-5 - gradle: 4.10.3 build-root-suffix: -gradle-4 runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Run Gradle build uses: ./ id: gradle with: gradle-version: ${{matrix.gradle}} build-root-directory: .github/workflow-samples/no-wrapper${{ matrix.build-root-suffix }} arguments: help -DgradleVersionCheck=${{matrix.gradle}} - name: Check build scan url if: ${{ !steps.gradle.outputs.build-scan-url }} uses: actions/github-script@v3 with: script: | core.setFailed('No build scan detected')