From 93c31ca3b552986dfd63abbcf11f940d402bb236 Mon Sep 17 00:00:00 2001 From: Daz DeBoer Date: Mon, 6 Jun 2022 15:30:51 -0600 Subject: [PATCH] Don't fail if the file-to-delete no longer exists Fixes #308 --- src/cache-extract-entries.ts | 6 +++--- src/cache-utils.ts | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/cache-extract-entries.ts b/src/cache-extract-entries.ts index 36411f9..576d208 100644 --- a/src/cache-extract-entries.ts +++ b/src/cache-extract-entries.ts @@ -312,9 +312,9 @@ export class GradleHomeEntryExtractor extends AbstractEntryExtractor { followSymbolicLinks: false }) - for (const p of await globber.glob()) { - cacheDebug(`Deleting wrapper zip: ${p}`) - tryDelete(p) + for (const wrapperZip of await globber.glob()) { + cacheDebug(`Deleting wrapper zip: ${wrapperZip}`) + await tryDelete(wrapperZip) } } diff --git a/src/cache-utils.ts b/src/cache-utils.ts index 111b85a..50a6600 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -198,9 +198,12 @@ export function handleCacheFailure(error: unknown, message: string): void { */ export async function tryDelete(file: string): Promise { const maxAttempts = 5 - const stat = fs.lstatSync(file) for (let attempt = 1; attempt <= maxAttempts; attempt++) { + if (!fs.existsSync(file)) { + return + } try { + const stat = fs.lstatSync(file) if (stat.isDirectory()) { fs.rmdirSync(file, {recursive: true}) } else {