name: Test restore custom Gradle Home on: workflow_call: inputs: cache-key-prefix: type: string default: '0' skip-dist: type: boolean default: false env: SKIP_DIST: ${{ inputs.skip-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-custom-gradle-home-${{ inputs.cache-key-prefix }} permissions: contents: read jobs: restore-custom-gradle-home-seed-build: runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Initialize integ-test uses: ./.github/actions/init-integ-test - name: Set Gradle User Home run: | mkdir -p $GITHUB_WORKSPACE/gradle-user-home echo "GRADLE_USER_HOME=$GITHUB_WORKSPACE/gradle-user-home" >> $GITHUB_ENV - name: Setup Gradle uses: ./setup-gradle with: cache-read-only: false # For testing, allow writing cache entries on non-default branches - name: Build using Gradle wrapper working-directory: .github/workflow-samples/groovy-dsl run: ./gradlew test --info # Test that the gradle-user-home cache will cache dependencies, by running build with --offline restore-custom-gradle-home-dependencies-cache: needs: restore-custom-gradle-home-seed-build runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Initialize integ-test uses: ./.github/actions/init-integ-test - name: Set Gradle User Home run: | mkdir -p $GITHUB_WORKSPACE/gradle-user-home echo "GRADLE_USER_HOME=$GITHUB_WORKSPACE/gradle-user-home" >> $GITHUB_ENV - name: Setup Gradle uses: ./setup-gradle with: cache-read-only: true - name: Execute Gradle build with --offline working-directory: .github/workflow-samples/groovy-dsl run: ./gradlew test --offline --info # Test that the gradle-user-home cache will cache and restore local build-cache restore-custom-gradle-home-build-cache: needs: restore-custom-gradle-home-seed-build runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Initialize integ-test uses: ./.github/actions/init-integ-test - name: Set Gradle User Home run: | mkdir -p $GITHUB_WORKSPACE/gradle-user-home echo "GRADLE_USER_HOME=$GITHUB_WORKSPACE/gradle-user-home" >> $GITHUB_ENV - name: Setup Gradle uses: ./setup-gradle with: cache-read-only: true - name: Execute Gradle build and verify tasks from cache working-directory: .github/workflow-samples/groovy-dsl run: ./gradlew test -DverifyCachedBuild=true --info