Protect wrapper cache restore against tar errors

This commit is contained in:
Paul Merlin 2020-09-13 13:06:00 +02:00
parent 2dd6cc1801
commit e3d60b3873
3 changed files with 22 additions and 13 deletions

2
dist/main/index.js vendored

File diff suppressed because one or more lines are too long

2
dist/post/index.js vendored

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@ export async function restoreCachedWrapperDist(
if (!wrapperSlug) return if (!wrapperSlug) return
const wrapperCacheKey = `wrapper-${wrapperSlug}` const wrapperCacheKey = `wrapper-${wrapperSlug}`
const wrapperCachePath = path.join( const wrapperCachePath = path.resolve(
os.homedir(), os.homedir(),
`.gradle/wrapper/dists/gradle-${wrapperSlug}` `.gradle/wrapper/dists/gradle-${wrapperSlug}`
) )
@ -35,21 +35,30 @@ export async function restoreCachedWrapperDist(
core.saveState(WRAPPER_CACHE_KEY, wrapperCacheKey) core.saveState(WRAPPER_CACHE_KEY, wrapperCacheKey)
core.saveState(WRAPPER_CACHE_PATH, wrapperCachePath) core.saveState(WRAPPER_CACHE_PATH, wrapperCachePath)
const restoredKey = await cache.restoreCache( try {
[wrapperCachePath], const restoredKey = await cache.restoreCache(
wrapperCacheKey [wrapperCachePath],
) wrapperCacheKey
)
if (!restoredKey) { if (!restoredKey) {
core.info(
'Wrapper installation cache not found, expect a Gradle distribution download.'
)
return
}
core.saveState(WRAPPER_CACHE_RESULT, restoredKey)
core.info( core.info(
'Wrapper installation cache not found, expect a Gradle distribution download.' `Wrapper installation restored from cache key: ${restoredKey}`
)
return
} catch (error) {
core.info(
`Wrapper installation cache restore failed, expect a Gradle distribution download\n ${error}`
) )
return return
} }
core.saveState(WRAPPER_CACHE_RESULT, restoredKey)
core.info(`Wrapper installation restored from cache key: ${restoredKey}`)
return
} }
export async function cacheWrapperDist(): Promise<void> { export async function cacheWrapperDist(): Promise<void> {