diff --git a/action.yml b/action.yml index 460a05b..666d356 100644 --- a/action.yml +++ b/action.yml @@ -66,10 +66,6 @@ inputs: description: When 'true', the action will not attempt to restore the Gradle User Home entries from other Jobs. required: 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: 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 diff --git a/src/cache-utils.ts b/src/cache-utils.ts index b2951d7..5a05969 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -15,7 +15,6 @@ const JOB_CONTEXT_PARAMETER = 'workflow-job-context' const CACHE_DISABLED_PARAMETER = 'cache-disabled' const CACHE_READONLY_PARAMETER = 'cache-read-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 CACHE_DEBUG_VAR = 'GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED' @@ -25,6 +24,8 @@ const CACHE_KEY_JOB_VAR = 'GRADLE_BUILD_ACTION_CACHE_KEY_JOB' const CACHE_KEY_JOB_INSTANCE_VAR = 'GRADLE_BUILD_ACTION_CACHE_KEY_JOB_INSTANCE' const CACHE_KEY_JOB_EXECUTION_VAR = 'GRADLE_BUILD_ACTION_CACHE_KEY_JOB_EXECUTION' +const SEGMENT_DOWNLOAD_TIMEOUT_DEFAULT = 10 * 60 * 1000 // 10 minutes + export function isCacheDisabled(): boolean { if (!cache.isFeatureAvailable()) { return true @@ -44,10 +45,6 @@ export function isCacheDebuggingEnabled(): boolean { 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. * The Github Actions cache will first try for an exact match on the key. @@ -153,9 +150,11 @@ export async function restoreCache( ): Promise { listener.markRequested(cacheKey, cacheRestoreKeys) try { - const restoredEntry = await cache.restoreCache(cachePath, cacheKey, cacheRestoreKeys, { - segmentTimeoutInMs: getCacheReadTimeoutMs() - }) + // Only override the read timeout if the SEGMENT_DOWNLOAD_TIMEOUT_MINS env var has NOT been set + const cacheRestoreOptions = process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS'] + ? {} + : {segmentTimeoutInMs: SEGMENT_DOWNLOAD_TIMEOUT_DEFAULT} + const restoredEntry = await cache.restoreCache(cachePath, cacheKey, cacheRestoreKeys, cacheRestoreOptions) if (restoredEntry !== undefined) { listener.markRestored(restoredEntry.key, restoredEntry.size) }