diff --git a/packages/cache/__tests__/restoreCache.test.ts b/packages/cache/__tests__/restoreCache.test.ts index eb7b44af..c40d58a3 100644 --- a/packages/cache/__tests__/restoreCache.test.ts +++ b/packages/cache/__tests__/restoreCache.test.ts @@ -73,7 +73,7 @@ test('restore with no cache found', async () => { test('restore with server error should fail', async () => { const paths = ['node_modules'] const key = 'node-test' - const logWarningMock = jest.spyOn(core, "warning"); + const logWarningMock = jest.spyOn(core, 'warning') jest.spyOn(cacheHttpClient, 'getCacheEntry').mockImplementation(() => { throw new Error('HTTP Error Occurred') @@ -82,7 +82,9 @@ test('restore with server error should fail', async () => { const cacheKey = await restoreCache(paths, key) expect(cacheKey).toBe(undefined) expect(logWarningMock).toHaveBeenCalledTimes(1) - expect(logWarningMock).toHaveBeenCalledWith('Fail to restore: Error: HTTP Error Occurred') + expect(logWarningMock).toHaveBeenCalledWith( + 'Fail to restore: Error: HTTP Error Occurred' + ) }) test('restore with restore keys and no cache found', async () => { diff --git a/packages/cache/__tests__/saveCache.test.ts b/packages/cache/__tests__/saveCache.test.ts index aa03f597..22cfa10d 100644 --- a/packages/cache/__tests__/saveCache.test.ts +++ b/packages/cache/__tests__/saveCache.test.ts @@ -48,7 +48,7 @@ test('save with large cache outputs should fail', async () => { const cachePaths = [path.resolve(filePath)] const createTarMock = jest.spyOn(tar, 'createTar') - const logWarningMock = jest.spyOn(core, "warning"); + const logWarningMock = jest.spyOn(core, 'warning') const cacheSize = 11 * 1024 * 1024 * 1024 //~11GB, over the 10GB limit jest @@ -58,11 +58,13 @@ test('save with large cache outputs should fail', async () => { const getCompressionMock = jest .spyOn(cacheUtils, 'getCompressionMethod') .mockReturnValueOnce(Promise.resolve(compression)) - + const cacheId = await saveCache([filePath], primaryKey) expect(cacheId).toBe(-1) expect(logWarningMock).toHaveBeenCalledTimes(1) - expect(logWarningMock).toHaveBeenCalledWith('Fail to save: Cache size of ~11264 MB (11811160064 B) is over the 10GB limit, not saving cache.') + expect(logWarningMock).toHaveBeenCalledWith( + 'Fail to save: Cache size of ~11264 MB (11811160064 B) is over the 10GB limit, not saving cache.' + ) const archiveFolder = '/foo/bar' @@ -81,7 +83,7 @@ test('save with large cache outputs should fail in GHES with error message', asy const cachePaths = [path.resolve(filePath)] const createTarMock = jest.spyOn(tar, 'createTar') - const logWarningMock = jest.spyOn(core, "warning"); + const logWarningMock = jest.spyOn(core, 'warning') const cacheSize = 11 * 1024 * 1024 * 1024 //~11GB, over the 10GB limit jest @@ -108,11 +110,13 @@ test('save with large cache outputs should fail in GHES with error message', asy } return response }) - + const cacheId = await saveCache([filePath], primaryKey) expect(cacheId).toBe(-1) expect(logWarningMock).toHaveBeenCalledTimes(1) - expect(logWarningMock).toHaveBeenCalledWith('Fail to save: The cache filesize must be between 0 and 1073741824 bytes') + expect(logWarningMock).toHaveBeenCalledWith( + 'Fail to save: The cache filesize must be between 0 and 1073741824 bytes' + ) const archiveFolder = '/foo/bar' expect(reserveCacheMock).toHaveBeenCalledTimes(1) @@ -131,7 +135,7 @@ test('save with large cache outputs should fail in GHES without error message', const cachePaths = [path.resolve(filePath)] const createTarMock = jest.spyOn(tar, 'createTar') - const logWarningMock = jest.spyOn(core, "warning"); + const logWarningMock = jest.spyOn(core, 'warning') const cacheSize = 11 * 1024 * 1024 * 1024 //~11GB, over the 10GB limit jest @@ -158,7 +162,9 @@ test('save with large cache outputs should fail in GHES without error message', const cacheId = await saveCache([filePath], primaryKey) expect(cacheId).toBe(-1) expect(logWarningMock).toHaveBeenCalledTimes(1) - expect(logWarningMock).toHaveBeenCalledWith('Fail to save: Cache size of ~11264 MB (11811160064 B) is over the data cap limit, not saving cache.') + expect(logWarningMock).toHaveBeenCalledWith( + 'Fail to save: Cache size of ~11264 MB (11811160064 B) is over the data cap limit, not saving cache.' + ) const archiveFolder = '/foo/bar' expect(reserveCacheMock).toHaveBeenCalledTimes(1) @@ -174,7 +180,7 @@ test('save with large cache outputs should fail in GHES without error message', test('save with reserve cache failure should fail', async () => { const paths = ['node_modules'] const primaryKey = 'Linux-node-bb828da54c148048dd17899ba9fda624811cfb43' - const logInfoMock = jest.spyOn(core, "info"); + const logInfoMock = jest.spyOn(core, 'info') const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') @@ -197,7 +203,9 @@ test('save with reserve cache failure should fail', async () => { const cacheId = await saveCache(paths, primaryKey) expect(cacheId).toBe(-1) expect(logInfoMock).toHaveBeenCalledTimes(1) - expect(logInfoMock).toHaveBeenCalledWith(`Fail to save: Unable to reserve cache with key ${primaryKey}, another job may be creating this cache. More details: undefined`) + expect(logInfoMock).toHaveBeenCalledWith( + `Fail to save: Unable to reserve cache with key ${primaryKey}, another job may be creating this cache. More details: undefined` + ) expect(reserveCacheMock).toHaveBeenCalledTimes(1) expect(reserveCacheMock).toHaveBeenCalledWith(primaryKey, paths, { @@ -212,7 +220,7 @@ test('save with server error should fail', async () => { const filePath = 'node_modules' const primaryKey = 'Linux-node-bb828da54c148048dd17899ba9fda624811cfb43' const cachePaths = [path.resolve(filePath)] - const logWarningMock = jest.spyOn(core, "warning"); + const logWarningMock = jest.spyOn(core, 'warning') const cacheId = 4 const reserveCacheMock = jest .spyOn(cacheHttpClient, 'reserveCache') @@ -236,10 +244,12 @@ test('save with server error should fail', async () => { const getCompressionMock = jest .spyOn(cacheUtils, 'getCompressionMethod') .mockReturnValueOnce(Promise.resolve(compression)) - + await saveCache([filePath], primaryKey) expect(logWarningMock).toHaveBeenCalledTimes(1) - expect(logWarningMock).toHaveBeenCalledWith('Fail to save: HTTP Error Occurred') + expect(logWarningMock).toHaveBeenCalledWith( + 'Fail to save: HTTP Error Occurred' + ) expect(reserveCacheMock).toHaveBeenCalledTimes(1) expect(reserveCacheMock).toHaveBeenCalledWith(primaryKey, [filePath], { diff --git a/packages/cache/src/cache.ts b/packages/cache/src/cache.ts index be448538..0ce62672 100644 --- a/packages/cache/src/cache.ts +++ b/packages/cache/src/cache.ts @@ -4,7 +4,7 @@ import * as utils from './internal/cacheUtils' import * as cacheHttpClient from './internal/cacheHttpClient' import {createTar, extractTar, listTar} from './internal/tar' import {DownloadOptions, UploadOptions} from './options' -import { ArtifactCacheEntry } from './internal/contracts' +import {ArtifactCacheEntry} from './internal/contracts' export class ValidationError extends Error { constructor(message: string) { @@ -87,10 +87,10 @@ export async function restoreCache( } const compressionMethod = await utils.getCompressionMethod() - let archivePath = "" + let archivePath = '' try { - // path are needed to compute version - const cacheEntry = await cacheHttpClient.getCacheEntry(keys, paths, { + // path are needed to compute version + const cacheEntry = await cacheHttpClient.getCacheEntry(keys, paths, { compressionMethod }) @@ -98,13 +98,13 @@ export async function restoreCache( // Cache not found return undefined } - - archivePath = path.join( + + archivePath = path.join( await utils.createTempDirectory(), utils.getCacheFileName(compressionMethod) ) core.debug(`Archive Path: ${archivePath}`) - + // Download the cache from the cache entry await cacheHttpClient.downloadCache( cacheEntry.archiveLocation, @@ -125,12 +125,12 @@ export async function restoreCache( await extractTar(archivePath, compressionMethod) core.info('Cache restored successfully') - + return cacheEntry.cacheKey - } catch(error) { - // Supress all cache related errors because caching should be optional - core.warning(`Fail to restore: ${error}`); - }finally { + } catch (error) { + // Supress all cache related errors because caching should be optional + core.warning(`Fail to restore: ${error}`) + } finally { // Try to delete the archive to save space try { await utils.unlinkFile(archivePath) @@ -224,8 +224,8 @@ export async function saveCache( core.debug(`Saving Cache (ID: ${cacheId})`) await cacheHttpClient.saveCache(cacheId, archivePath, options) - } catch(error) { - const typedError = error as Error; + } catch (error) { + const typedError = error as Error if (typedError.name === ReserveCacheError.name) { core.info(`Fail to save: ${typedError.message}`) } else {