name: Test save/restore configuration-cache state on: pull_request: push: workflow_dispatch: env: GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}- GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true jobs: # Run initial Gradle builds to push initial cache entries # These builds should start fresh without cache hits, due to the seed injected into the cache key above. seed-build: strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Build with configuration-cache enabled uses: ./ with: build-root-directory: __tests__/samples/groovy-dsl arguments: test --configuration-cache # Test that the project-dot-gradle cache will cache and restore configuration-cache configuration-cache: needs: seed-build strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Execute Gradle build and verify cached configuration uses: ./ env: VERIFY_CACHED_CONFIGURATION: true with: build-root-directory: __tests__/samples/groovy-dsl arguments: test --configuration-cache cache-read-only: true # Check that the build can run when no bundles are restored no-bundles-restored: needs: seed-build strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Execute Gradle build with no cache artifact bundles restored uses: ./ with: build-root-directory: __tests__/samples/groovy-dsl arguments: test --configuration-cache cache-read-only: true gradle-home-cache-artifact-bundles: '[]'