diff --git a/__tests__/cache-save.test.ts b/__tests__/cache-save.test.ts index 1cf7f89a8..26f7da24b 100644 --- a/__tests__/cache-save.test.ts +++ b/__tests__/cache-save.test.ts @@ -87,6 +87,7 @@ describe('run', () => { describe('Validate unchanged cache is not saved', () => { it('should not save cache for pip', async () => { inputs['cache'] = 'pip'; + inputs['python-version'] = '3.10.0'; await run(); @@ -103,6 +104,7 @@ describe('run', () => { it('should not save cache for pipenv', async () => { inputs['cache'] = 'pipenv'; + inputs['python-version'] = '3.10.0'; await run(); @@ -121,6 +123,7 @@ describe('run', () => { describe('action saves the cache', () => { it('saves cache from pip', async () => { inputs['cache'] = 'pip'; + inputs['python-version'] = '3.10.0'; getStateSpy.mockImplementation((name: string) => { if (name === State.CACHE_MATCHED_KEY) { return requirementsHash; @@ -147,6 +150,7 @@ describe('run', () => { it('saves cache from pipenv', async () => { inputs['cache'] = 'pipenv'; + inputs['python-version'] = '3.10.0'; getStateSpy.mockImplementation((name: string) => { if (name === State.CACHE_MATCHED_KEY) { return pipFileLockHash; @@ -173,6 +177,7 @@ describe('run', () => { it('saves cache from poetry', async () => { inputs['cache'] = 'poetry'; + inputs['python-version'] = '3.10.0'; getStateSpy.mockImplementation((name: string) => { if (name === State.CACHE_MATCHED_KEY) { return poetryLockHash; @@ -199,6 +204,7 @@ describe('run', () => { it('saves with -1 cacheId , should not fail workflow', async () => { inputs['cache'] = 'poetry'; + inputs['python-version'] = '3.10.0'; getStateSpy.mockImplementation((name: string) => { if (name === State.STATE_CACHE_PRIMARY_KEY) { return poetryLockHash; @@ -227,6 +233,7 @@ describe('run', () => { it('saves with error from toolkit, should not fail the workflow', async () => { inputs['cache'] = 'npm'; + inputs['python-version'] = '3.10.0'; getStateSpy.mockImplementation((name: string) => { if (name === State.STATE_CACHE_PRIMARY_KEY) { return poetryLockHash; diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index cf6d38f58..d5f534db1 100644 --- a/dist/cache-save/index.js +++ b/dist/cache-save/index.js @@ -59628,7 +59628,12 @@ function run() { exports.run = run; function saveCache(packageManager) { return __awaiter(this, void 0, void 0, function* () { - const cachePaths = JSON.parse(core.getState(cache_distributor_1.State.CACHE_PATHS)); + const cachePathState = core.getState(cache_distributor_1.State.CACHE_PATHS); + if (!cachePathState) { + core.warning('Cache paths are empty. Please check the previous logs and make sure that the python version is specified'); + return; + } + const cachePaths = JSON.parse(cachePathState); core.debug(`paths for caching are ${cachePaths.join(', ')}`); if (!isCacheDirectoryExists(cachePaths)) { throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join(', ')}`); diff --git a/src/cache-save.ts b/src/cache-save.ts index 711bccd93..1017ef11d 100644 --- a/src/cache-save.ts +++ b/src/cache-save.ts @@ -17,7 +17,16 @@ export async function run() { } async function saveCache(packageManager: string) { - const cachePaths = JSON.parse(core.getState(State.CACHE_PATHS)) as string[]; + const cachePathState = core.getState(State.CACHE_PATHS); + + if (!cachePathState) { + core.warning( + 'Cache paths are empty. Please check the previous logs and make sure that the python version is specified' + ); + return; + } + + const cachePaths = JSON.parse(cachePathState) as string[]; core.debug(`paths for caching are ${cachePaths.join(', ')}`);
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: