name: Test execution with caching 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: dependency-graph-${{ inputs.cache-key-prefix }} GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true jobs: groovy-generate: strategy: matrix: os: ${{fromJSON(inputs.runner-os)}} 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 for dependency-graph generate uses: ./ with: dependency-graph: generate - name: Run gradle build run: ./gradlew build working-directory: .github/workflow-samples/groovy-dsl kotlin-generate: strategy: matrix: os: ${{fromJSON(inputs.runner-os)}} 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 for dependency-graph generate uses: ./ with: dependency-graph: generate-and-submit - name: Run gradle build run: ./gradlew build working-directory: .github/workflow-samples/kotlin-dsl submit: needs: [groovy-generate, kotlin-generate] runs-on: "ubuntu-latest" steps: - name: Checkout sources uses: actions/checkout@v3 - name: Download distribution if required uses: ./.github/actions/download-dist - name: Submit dependency graphs uses: ./ with: dependency-graph: download-and-submit