From 9d956bc62d4b9f039a7ddfadc66d78879bc0e48c Mon Sep 17 00:00:00 2001 From: Caleb Gosiak Date: Thu, 30 Sep 2021 18:05:21 -0500 Subject: [PATCH] more options --- dist/restore/index.js | 20 ++++++++++++++++++++ dist/save/index.js | 20 ++++++++++++++++++++ package.json | 2 +- src/cache.service.ts | 23 +++++++++++++++++++++++ 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/dist/restore/index.js b/dist/restore/index.js index 21cd283..3445986 100644 --- a/dist/restore/index.js +++ b/dist/restore/index.js @@ -43417,6 +43417,26 @@ class CacheService { Prefix: path.join(this.getCacheFolder(), keys[i]) }) .promise(); + let selected = undefined; + if (response.Contents) { + for (const object of response.Contents) { + if (selected === undefined) { + selected = object; + } + else { + if (object.LastModified && + selected.LastModified) { + if (object.LastModified > + selected.LastModified) { + selected = object; + } + } + } + } + if (selected && selected.Key) { + return path.parse(selected.Key).name; + } + } core.debug(JSON.stringify(response)); // eslint-disable-next-line no-empty } diff --git a/dist/save/index.js b/dist/save/index.js index 535fad4..45e4a5d 100644 --- a/dist/save/index.js +++ b/dist/save/index.js @@ -43417,6 +43417,26 @@ class CacheService { Prefix: path.join(this.getCacheFolder(), keys[i]) }) .promise(); + let selected = undefined; + if (response.Contents) { + for (const object of response.Contents) { + if (selected === undefined) { + selected = object; + } + else { + if (object.LastModified && + selected.LastModified) { + if (object.LastModified > + selected.LastModified) { + selected = object; + } + } + } + } + if (selected && selected.Key) { + return path.parse(selected.Key).name; + } + } core.debug(JSON.stringify(response)); // eslint-disable-next-line no-empty } diff --git a/package.json b/package.json index 871b9e8..a2d80e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cache", - "version": "0.8.0", + "version": "0.9.0", "private": true, "description": "Cache dependencies and build outputs", "main": "dist/restore/index.js", diff --git a/src/cache.service.ts b/src/cache.service.ts index 10953cc..9f0925a 100644 --- a/src/cache.service.ts +++ b/src/cache.service.ts @@ -182,6 +182,29 @@ export class CacheService { Prefix: path.join(this.getCacheFolder(), keys[i]) }) .promise(); + let selected: S3.Object | undefined = undefined; + if (response.Contents) { + for (const object of response.Contents) { + if (selected === undefined) { + selected = object; + } else { + if ( + object.LastModified && + selected.LastModified + ) { + if ( + object.LastModified > + selected.LastModified + ) { + selected = object; + } + } + } + } + if (selected && selected.Key) { + return path.parse(selected.Key).name; + } + } core.debug(JSON.stringify(response)); // eslint-disable-next-line no-empty } catch {}