mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-10-31 23:28:55 +08:00 
			
		
		
		
	Test config-cache support for multiple builds in one job
This commit is contained in:
		| @@ -26,8 +26,13 @@ jobs: | |||||||
|       with: |       with: | ||||||
|         build-root-directory: __tests__/samples/groovy-dsl |         build-root-directory: __tests__/samples/groovy-dsl | ||||||
|         arguments: test --configuration-cache |         arguments: test --configuration-cache | ||||||
|  |     - name: Second build with configuration-cache enabled | ||||||
|  |       uses: ./ | ||||||
|  |       with: | ||||||
|  |         build-root-directory: __tests__/samples/kotlin-dsl | ||||||
|  |         arguments: test --configuration-cache | ||||||
|  |  | ||||||
|   # Test that the project-dot-gradle cache will cache and restore configuration-cache |   # Test restore configuration-cache | ||||||
|   configuration-cache: |   configuration-cache: | ||||||
|     needs: seed-build |     needs: seed-build | ||||||
|     strategy: |     strategy: | ||||||
| @@ -46,6 +51,25 @@ jobs: | |||||||
|         arguments: test --configuration-cache |         arguments: test --configuration-cache | ||||||
|         cache-read-only: true |         cache-read-only: true | ||||||
|  |  | ||||||
|  |   # Test restore configuration-cache from second build invocation | ||||||
|  |   configuration-cache-2: | ||||||
|  |     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/kotlin-dsl | ||||||
|  |         arguments: test --configuration-cache | ||||||
|  |         cache-read-only: true | ||||||
|  |  | ||||||
|   # Check that the build can run when no extracted cache entries are restored |   # Check that the build can run when no extracted cache entries are restored | ||||||
|   no-extracted-cache-entries-restored: |   no-extracted-cache-entries-restored: | ||||||
|     needs: seed-build |     needs: seed-build | ||||||
|   | |||||||
| @@ -16,3 +16,15 @@ dependencies { | |||||||
| tasks.test { | tasks.test { | ||||||
|     useJUnitPlatform() |     useJUnitPlatform() | ||||||
| } | } | ||||||
|  |  | ||||||
|  | tasks.named("test").configure { | ||||||
|  |     // Use an environment variable to bypass config-cache checks | ||||||
|  |     if (System.getenv("VERIFY_CACHED_CONFIGURATION") != null) { | ||||||
|  |         throw RuntimeException("Configuration was not cached: unexpected configuration of test task") | ||||||
|  |     } | ||||||
|  |     doLast { | ||||||
|  |         if (System.getProperties().containsKey("verifyCachedBuild")) { | ||||||
|  |             throw RuntimeException("Build was not cached: unexpected execution of test task") | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user