Do not fail build on error restoring artifact for marker

Instead, catch and report these errors before continuing.
This commit is contained in:
Daz DeBoer 2021-09-14 13:38:48 -06:00
parent cca55d0890
commit bd08e7b7cd
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D

View file

@ -72,16 +72,22 @@ export class GradleUserHomeCache extends AbstractCache {
const key = path.relative(this.getGradleUserHome(), artifactFile) const key = path.relative(this.getGradleUserHome(), artifactFile)
const cacheKey = `gradle-artifact-${key}` const cacheKey = `gradle-artifact-${key}`
const restoreKey = await cache.restoreCache( try {
[artifactFile], const restoreKey = await cache.restoreCache(
cacheKey [artifactFile],
) cacheKey
if (restoreKey) {
this.debug(`Restored ${cacheKey} from cache to ${artifactFile}`)
} else {
core.warning(
`Failed to restore from ${cacheKey} to ${artifactFile}`
) )
if (restoreKey) {
this.debug(
`Restored ${cacheKey} from cache to ${artifactFile}`
)
} else {
core.warning(
`Failed to restore from ${cacheKey} to ${artifactFile}`
)
}
} catch (error) {
core.warning(`Error restoring ${cacheKey}: ${error}`)
} }
} else { } else {
this.debug( this.debug(
@ -162,16 +168,15 @@ export class GradleUserHomeCache extends AbstractCache {
await cache.saveCache([artifactFile], cacheKey) await cache.saveCache([artifactFile], cacheKey)
} catch (error) { } catch (error) {
// Fail on validation errors or non-errors (the latter to keep Typescript happy) // Fail on validation errors or non-errors (the latter to keep Typescript happy)
if ( if (error instanceof cache.ValidationError) {
error instanceof cache.ValidationError ||
!(error instanceof Error)
) {
throw error throw error
} else if (error instanceof cache.ReserveCacheError) { } else if (error instanceof cache.ReserveCacheError) {
// These are expected if the artifact is already cached // These are expected if the artifact is already cached
this.debug(error.message) this.debug(error.message)
} else { } else if (error instanceof Error) {
core.warning(error.message) core.warning(error.message)
} else {
core.warning(`${error}`)
} }
} }