From 860bb139dc711587ce3904e443ba3f84b5acbc8a Mon Sep 17 00:00:00 2001 From: Ari Kishon <37385467+Ari-Kishon@users.noreply.github.com> Date: Thu, 31 Aug 2023 12:29:33 +0300 Subject: [PATCH] feat(cache): add flag to only restore cache --- action.yml | 3 +++ src/cache-save.ts | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/action.yml b/action.yml index 56025a40..534de6c7 100644 --- a/action.yml +++ b/action.yml @@ -25,6 +25,9 @@ inputs: description: 'Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm.' cache-dependency-path: description: 'Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. Supports wildcards or a list of file names for caching multiple dependencies.' + cache-restore-only: + description: 'Set this option if you dont want to save the cache when it couldnt be restored.' + default: false # TODO: add input to control forcing to pull from cloud or dist. # escape valve for someone having issues or needing the absolute latest which isn't cached yet outputs: diff --git a/src/cache-save.ts b/src/cache-save.ts index 0b071019..09b9ad93 100644 --- a/src/cache-save.ts +++ b/src/cache-save.ts @@ -33,6 +33,10 @@ const cachePackages = async (packageManager: string) => { core.debug(`Caching for '${packageManager}' is not supported`); return; } + if (core.getInput('cache-restore-only') == true ){ + core.info(`Cache was not saved since 'cache-restore-only' was set }`); + return; + } if (!cachePaths.length) { // TODO: core.getInput has a bug - it can return undefined despite its definition (tests only?)