From 5547b9ed8d1a020178fe39c053659a9255170882 Mon Sep 17 00:00:00 2001 From: Evgenii Korolevskii Date: Thu, 8 Sep 2022 13:18:41 +0200 Subject: [PATCH] fix(cache): Not throw err if no cache folders --- __tests__/setup-go.test.ts | 22 ++++++++-------------- src/cache-save.ts | 13 +++++++++---- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/__tests__/setup-go.test.ts b/__tests__/setup-go.test.ts index 4378b0e..82f100a 100644 --- a/__tests__/setup-go.test.ts +++ b/__tests__/setup-go.test.ts @@ -98,15 +98,15 @@ describe('setup-go', () => { logSpy = jest.spyOn(core, 'info'); dbgSpy = jest.spyOn(core, 'debug'); getSpy.mockImplementation(() => goJsonData); - cnSpy.mockImplementation(line => { + cnSpy.mockImplementation((line) => { // uncomment to debug // process.stderr.write('write:' + line + '\n'); }); - logSpy.mockImplementation(line => { + logSpy.mockImplementation((line) => { // uncomment to debug //process.stderr.write('log:' + line + '\n'); }); - dbgSpy.mockImplementation(msg => { + dbgSpy.mockImplementation((line) => { // uncomment to see debug output // process.stderr.write(msg + '\n'); }); @@ -295,7 +295,6 @@ describe('setup-go', () => { findSpy.mockImplementation(() => toolPath); await main.run(); - let expPath = path.join(toolPath, 'bin'); expect(logSpy).toHaveBeenCalledWith(`Found in cache @ ${toolPath}`); }); @@ -462,9 +461,6 @@ describe('setup-go', () => { inputs['go-version'] = versionSpec; inputs['token'] = 'faketoken'; - let expectedUrl = - 'https://github.com/actions/go-versions/releases/download/1.12.14-20200616.18/go-1.12.14-linux-x64.tar.gz'; - // ... but not in the local cache findSpy.mockImplementation(() => ''); @@ -526,7 +522,7 @@ describe('setup-go', () => { }); mkdirpSpy.mockImplementation(async () => {}); - existsSpy.mockImplementation(path => { + existsSpy.mockImplementation(() => { return false; }); @@ -707,8 +703,6 @@ describe('setup-go', () => { const toolPath = path.normalize('/cache/go/1.17.5/x64'); extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); cacheSpy.mockImplementation(async () => toolPath); - const expectedUrl = - 'https://github.com/actions/go-versions/releases/download/1.17.6-1668090892/go-1.17.6-darwin-x64.tar.gz'; await main.run(); @@ -834,7 +828,7 @@ exclude example.com/thismodule v1.3.0 it('reads version from go.mod', async () => { inputs['go-version-file'] = 'go.mod'; - existsSpy.mockImplementation(path => true); + existsSpy.mockImplementation(() => true); readFileSpy.mockImplementation(() => Buffer.from(goModContents)); await main.run(); @@ -846,7 +840,7 @@ exclude example.com/thismodule v1.3.0 it('reads version from .go-version', async () => { inputs['go-version-file'] = '.go-version'; - existsSpy.mockImplementation(path => true); + existsSpy.mockImplementation(() => true); readFileSpy.mockImplementation(() => Buffer.from(`1.13.0${osm.EOL}`)); await main.run(); @@ -859,7 +853,7 @@ exclude example.com/thismodule v1.3.0 it('is overwritten by go-version', async () => { inputs['go-version'] = '1.13.1'; inputs['go-version-file'] = 'go.mod'; - existsSpy.mockImplementation(path => true); + existsSpy.mockImplementation(() => true); readFileSpy.mockImplementation(() => Buffer.from(goModContents)); await main.run(); @@ -871,7 +865,7 @@ exclude example.com/thismodule v1.3.0 it('reports a read failure', async () => { inputs['go-version-file'] = 'go.mod'; - existsSpy.mockImplementation(path => false); + existsSpy.mockImplementation(() => false); await main.run(); diff --git a/src/cache-save.ts b/src/cache-save.ts index 9deabe5..1ee7a56 100644 --- a/src/cache-save.ts +++ b/src/cache-save.ts @@ -16,7 +16,14 @@ export async function run() { try { await cachePackages(); } catch (error) { - core.setFailed(error.message); + let message = 'Unknown error!'; + if (error instanceof Error) { + message = error.message; + } + if (typeof error === 'string') { + message = error; + } + core.setFailed(message); } } @@ -41,9 +48,7 @@ const cachePackages = async () => { if (nonExistingPaths.length === cachePaths.length) { core.warning(`There are no cache folders on the disk`); - logWarning(`There are no cache folders on the disk`) return; - throw new Error(`There are no cache folders on the disk`); } if (nonExistingPaths.length) { @@ -68,7 +73,7 @@ const cachePackages = async () => { core.info(`Cache saved with the key: ${primaryKey}`); }; -export function logWarning(message: string): void { +function logWarning(message: string): void { const warningPrefix = '[warning]'; core.info(`${warningPrefix}${message}`); }