mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-10-31 23:28:55 +08:00 
			
		
		
		
	| @@ -66,6 +66,10 @@ inputs: | |||||||
|     description: When 'true', the action will not attempt to restore the Gradle User Home entries from other Jobs. |     description: When 'true', the action will not attempt to restore the Gradle User Home entries from other Jobs. | ||||||
|     required: false |     required: false | ||||||
|     default: false |     default: false | ||||||
|  |   cache-read-timeout: | ||||||
|  |     description: A timeout value in seconds for cache reads. Requests taking longer that this will be aborted. | ||||||
|  |     required: true | ||||||
|  |     default: 600 | ||||||
|   workflow-job-context: |   workflow-job-context: | ||||||
|     description: Used to uniquely identify the current job invocation. Defaults to the matrix values for this job; this should not be overridden by users (INTERNAL). |     description: Used to uniquely identify the current job invocation. Defaults to the matrix values for this job; this should not be overridden by users (INTERNAL). | ||||||
|     required: false |     required: false | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ const JOB_CONTEXT_PARAMETER = 'workflow-job-context' | |||||||
| const CACHE_DISABLED_PARAMETER = 'cache-disabled' | const CACHE_DISABLED_PARAMETER = 'cache-disabled' | ||||||
| const CACHE_READONLY_PARAMETER = 'cache-read-only' | const CACHE_READONLY_PARAMETER = 'cache-read-only' | ||||||
| const CACHE_WRITEONLY_PARAMETER = 'cache-write-only' | const CACHE_WRITEONLY_PARAMETER = 'cache-write-only' | ||||||
|  | const CACHE_TIMEOUT_PARAMETER = 'cache-read-timeout' | ||||||
| const STRICT_CACHE_MATCH_PARAMETER = 'gradle-home-cache-strict-match' | const STRICT_CACHE_MATCH_PARAMETER = 'gradle-home-cache-strict-match' | ||||||
| const CACHE_DEBUG_VAR = 'GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED' | const CACHE_DEBUG_VAR = 'GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED' | ||||||
|  |  | ||||||
| @@ -43,6 +44,10 @@ export function isCacheDebuggingEnabled(): boolean { | |||||||
|     return process.env[CACHE_DEBUG_VAR] ? true : false |     return process.env[CACHE_DEBUG_VAR] ? true : false | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function getCacheReadTimeoutMs(): number { | ||||||
|  |     return parseInt(core.getInput(CACHE_TIMEOUT_PARAMETER)) * 1000 | ||||||
|  | } | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Represents a key used to restore a cache entry. |  * Represents a key used to restore a cache entry. | ||||||
|  * The Github Actions cache will first try for an exact match on the key. |  * The Github Actions cache will first try for an exact match on the key. | ||||||
| @@ -148,7 +153,9 @@ export async function restoreCache( | |||||||
| ): Promise<cache.CacheEntry | undefined> { | ): Promise<cache.CacheEntry | undefined> { | ||||||
|     listener.markRequested(cacheKey, cacheRestoreKeys) |     listener.markRequested(cacheKey, cacheRestoreKeys) | ||||||
|     try { |     try { | ||||||
|         const restoredEntry = await cache.restoreCache(cachePath, cacheKey, cacheRestoreKeys) |         const restoredEntry = await cache.restoreCache(cachePath, cacheKey, cacheRestoreKeys, { | ||||||
|  |             segmentTimeoutInMs: getCacheReadTimeoutMs() | ||||||
|  |         }) | ||||||
|         if (restoredEntry !== undefined) { |         if (restoredEntry !== undefined) { | ||||||
|             listener.markRestored(restoredEntry.key, restoredEntry.size) |             listener.markRestored(restoredEntry.key, restoredEntry.size) | ||||||
|         } |         } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user