diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml index e812579..a1901f4 100644 --- a/.github/workflows/prod.yml +++ b/.github/workflows/prod.yml @@ -89,6 +89,24 @@ jobs: gradle-user-home-cache-enabled: read-only project-dot-gradle-cache-enabled: read-only + # Test that the gradle-user-home cache will cache and restore local build-cachee + build-cache: + needs: seed-build + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Execute Gradle build and verify tasks from cache + uses: ./ + with: + build-root-directory: __tests__/samples/basic + arguments: test -DverifyCachedBuild=true + gradle-user-home-cache-enabled: read-only + project-dot-gradle-cache-enabled: read-only + configuration-cache: needs: seed-build strategy: diff --git a/__tests__/samples/basic/build.gradle b/__tests__/samples/basic/build.gradle index 89e9f70..419e958 100644 --- a/__tests__/samples/basic/build.gradle +++ b/__tests__/samples/basic/build.gradle @@ -9,3 +9,11 @@ repositories { dependencies { testImplementation('junit:junit:4.12') } + +tasks.named("test").configure { + doLast { + if (System.properties.verifyCachedBuild) { + throw new RuntimeException("Build was not cached: unexpected execution of test task") + } + } +} \ No newline at end of file diff --git a/__tests__/samples/basic/gradle.properties b/__tests__/samples/basic/gradle.properties new file mode 100644 index 0000000..1608900 --- /dev/null +++ b/__tests__/samples/basic/gradle.properties @@ -0,0 +1 @@ +org.gradle.caching=true