From c1a16ee3730fa56fce46b3cd014d0600eb547b54 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Thu, 19 May 2022 16:39:57 -0400 Subject: [PATCH 1/2] Tolerate errors in saveCache --- lib/main.js | 16 +++++++++++++++- src/main.ts | 13 ++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/main.js b/lib/main.js index 914687c3..f3c01200 100644 --- a/lib/main.js +++ b/lib/main.js @@ -161,7 +161,21 @@ function run() { const binPath = yield tc.downloadTool(url); yield extractFn(binPath, dest); if (cacheEnabled && cacheKey !== undefined) { - yield cache.saveCache([dest], cacheKey); + try { + yield cache.saveCache([dest], cacheKey); + } + catch (error) { + const typedError = error; + if (typedError.name === cache.ValidationError.name) { + throw error; + } + else if (typedError.name === cache.ReserveCacheError.name) { + core.info(typedError.message); + } + else { + core.warning(typedError.message); + } + } } core.addPath(dest); core.info(`Successfully extracted ${project} to ${dest}`); diff --git a/src/main.ts b/src/main.ts index 290953c3..cb4b8ef3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -167,7 +167,18 @@ async function run() { await extractFn(binPath, dest); if (cacheEnabled && cacheKey !== undefined) { - await cache.saveCache([dest], cacheKey); + try { + await cache.saveCache([dest], cacheKey); + } catch (error: unknown) { + const typedError = error as Error; + if (typedError.name === cache.ValidationError.name) { + throw error; + } else if (typedError.name === cache.ReserveCacheError.name) { + core.info(typedError.message); + } else { + core.warning(typedError.message); + } + } } core.addPath(dest); From 1023e6aa498f7f2cb8cb341e2ab21bfd33131e29 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Thu, 19 May 2022 16:43:30 -0400 Subject: [PATCH 2/2] Use pre-TypeScript 4 syntax --- src/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.ts b/src/main.ts index cb4b8ef3..40739567 100644 --- a/src/main.ts +++ b/src/main.ts @@ -169,7 +169,7 @@ async function run() { if (cacheEnabled && cacheKey !== undefined) { try { await cache.saveCache([dest], cacheKey); - } catch (error: unknown) { + } catch (error) { const typedError = error as Error; if (typedError.name === cache.ValidationError.name) { throw error;