From 676975d9aaccb55b3621a6d481497820a9942577 Mon Sep 17 00:00:00 2001 From: Sergey Dolin Date: Fri, 9 Dec 2022 11:41:54 +0100 Subject: [PATCH 1/2] Use early return pattern --- dist/cache-save/index.js | 16 ++++++---------- dist/setup/index.js | 16 ++++++---------- src/cache-utils.ts | 23 ++++++++++------------- 3 files changed, 22 insertions(+), 33 deletions(-) diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index 876629e..5f49940 100644 --- a/dist/cache-save/index.js +++ b/dist/cache-save/index.js @@ -61185,16 +61185,12 @@ function isGhes() { } exports.isGhes = isGhes; function isCacheFeatureAvailable() { - if (!cache.isFeatureAvailable()) { - if (isGhes()) { - throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); - } - else { - core.warning('The runner was not able to contact the cache service. Caching will be skipped'); - } - return false; - } - return true; + if (cache.isFeatureAvailable()) + return true; + if (isGhes()) + throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + core.warning('The runner was not able to contact the cache service. Caching will be skipped'); + return false; } exports.isCacheFeatureAvailable = isCacheFeatureAvailable; diff --git a/dist/setup/index.js b/dist/setup/index.js index b6c3e23..af12214 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -73139,16 +73139,12 @@ function isGhes() { } exports.isGhes = isGhes; function isCacheFeatureAvailable() { - if (!cache.isFeatureAvailable()) { - if (isGhes()) { - throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); - } - else { - core.warning('The runner was not able to contact the cache service. Caching will be skipped'); - } - return false; - } - return true; + if (cache.isFeatureAvailable()) + return true; + if (isGhes()) + throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + core.warning('The runner was not able to contact the cache service. Caching will be skipped'); + return false; } exports.isCacheFeatureAvailable = isCacheFeatureAvailable; diff --git a/src/cache-utils.ts b/src/cache-utils.ts index ccd4e98..065d347 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -105,19 +105,16 @@ export function isGhes(): boolean { } export function isCacheFeatureAvailable(): boolean { - if (!cache.isFeatureAvailable()) { - if (isGhes()) { - throw new Error( - 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' - ); - } else { - core.warning( - 'The runner was not able to contact the cache service. Caching will be skipped' - ); - } + if (cache.isFeatureAvailable()) return true; - return false; - } + if (isGhes()) + throw new Error( + 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' + ); - return true; + core.warning( + 'The runner was not able to contact the cache service. Caching will be skipped' + ); + + return false; } From b28830cbe242f8218618bacd97758c82c162a981 Mon Sep 17 00:00:00 2001 From: Sergey Dolin Date: Fri, 9 Dec 2022 12:05:59 +0100 Subject: [PATCH 2/2] replace throw with warn --- __tests__/cache-utils.test.ts | 3 ++- __tests__/installer.test.ts | 5 +++-- dist/cache-save/index.js | 6 ++++-- dist/setup/index.js | 6 ++++-- src/cache-utils.ts | 6 ++++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/__tests__/cache-utils.test.ts b/__tests__/cache-utils.test.ts index d8934eb..9e8d653 100644 --- a/__tests__/cache-utils.test.ts +++ b/__tests__/cache-utils.test.ts @@ -46,7 +46,8 @@ describe('cache-utils', () => { isFeatureAvailable.mockImplementation(() => false); process.env['GITHUB_SERVER_URL'] = 'https://www.test.com'; - expect(() => isCacheFeatureAvailable()).toThrowError( + expect(isCacheFeatureAvailable()).toBeFalsy(); + expect(warningSpy).toHaveBeenCalledWith( 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' ); }); diff --git a/__tests__/installer.test.ts b/__tests__/installer.test.ts index 3c3105e..2a74f78 100644 --- a/__tests__/installer.test.ts +++ b/__tests__/installer.test.ts @@ -728,8 +728,9 @@ describe('setup-node', () => { await main.run(); - expect(cnSpy).toHaveBeenCalledWith( - `::error::Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.${osm.EOL}` + expect(warningSpy).toHaveBeenCalledWith( + // `::error::Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.${osm.EOL}` + 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' ); }); diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index 5f49940..d099eec 100644 --- a/dist/cache-save/index.js +++ b/dist/cache-save/index.js @@ -61187,8 +61187,10 @@ exports.isGhes = isGhes; function isCacheFeatureAvailable() { if (cache.isFeatureAvailable()) return true; - if (isGhes()) - throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + if (isGhes()) { + core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + return false; + } core.warning('The runner was not able to contact the cache service. Caching will be skipped'); return false; } diff --git a/dist/setup/index.js b/dist/setup/index.js index af12214..01a4548 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -73141,8 +73141,10 @@ exports.isGhes = isGhes; function isCacheFeatureAvailable() { if (cache.isFeatureAvailable()) return true; - if (isGhes()) - throw new Error('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + if (isGhes()) { + core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'); + return false; + } core.warning('The runner was not able to contact the cache service. Caching will be skipped'); return false; } diff --git a/src/cache-utils.ts b/src/cache-utils.ts index 065d347..5df3e71 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -107,10 +107,12 @@ export function isGhes(): boolean { export function isCacheFeatureAvailable(): boolean { if (cache.isFeatureAvailable()) return true; - if (isGhes()) - throw new Error( + if (isGhes()) { + core.warning( 'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' ); + return false; + } core.warning( 'The runner was not able to contact the cache service. Caching will be skipped'