diff --git a/action.yml b/action.yml index 54fc22e..a965498 100644 --- a/action.yml +++ b/action.yml @@ -38,7 +38,7 @@ inputs: ["generated-gradle-jars", "caches/*/generated-gradle-jars/*.jar"], ["wrapper-zips", "wrapper/dists/*/*/*.zip"], ["dependency-jars", "caches/modules-*/files-*/**/*.jar"], - ["instrumented-jars", "caches/jars-*/*/*.jar"] + ["instrumented-jars", "caches/jars-*/*"] ] outputs: diff --git a/src/cache-utils.ts b/src/cache-utils.ts index ad49850..e7b3a50 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -62,12 +62,17 @@ export function hashFileNames(fileNames: string[]): string { } /** - * Attempt to delete a file, waiting to allow locks to be released + * Attempt to delete a file or directory, waiting to allow locks to be released */ export async function tryDelete(file: string): Promise { + const stat = fs.lstatSync(file) for (let count = 0; count < 3; count++) { try { - fs.unlinkSync(file) + if (stat.isDirectory()) { + fs.rmdirSync(file, {recursive: true}) + } else { + fs.unlinkSync(file) + } return } catch (error) { if (count === 2) {