From cda609ee8244eb5029bcf416297f24bbd7ab8a15 Mon Sep 17 00:00:00 2001 From: alexlamsl Date: Tue, 5 Nov 2019 20:22:33 +0800 Subject: [PATCH] Encode cache keys * remove restriction on commas in keys * avoid 404 during save when characters like slashes are used in keys fixes #53 --- src/restore.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/restore.ts b/src/restore.ts index b115b08..69f432e 100644 --- a/src/restore.ts +++ b/src/restore.ts @@ -17,12 +17,16 @@ async function run() { ); core.debug(`Cache Path: ${cachePath}`); - const primaryKey = core.getInput(Inputs.Key, { required: true }); + const keys = [ + core.getInput(Inputs.Key, { required: true }), + ...core + .getInput(Inputs.RestoreKeys) + .split(/\s*\n\s*/) + .filter(x => x) + ].map(key => encodeURIComponent(key).replace(/%/g, " ")); + const primaryKey = keys[0]; core.saveState(State.CacheKey, primaryKey); - const restoreKeys = core.getInput(Inputs.RestoreKeys).split("\n"); - const keys = [primaryKey, ...restoreKeys]; - core.debug("Resolved Keys:"); core.debug(JSON.stringify(keys)); @@ -39,13 +43,6 @@ async function run() { ); return; } - const regex = /^[^,]*$/; - if (!regex.test(key)) { - core.setFailed( - `Key Validation Error: ${key} cannot contain commas.` - ); - return; - } } try {