refactor: Use early return pattern to avoid nested conditions (#566)

* refactor: Use early return pattern

Signed-off-by: jongwooo <jongwooo.han@gmail.com>

* fix: Replace throw with warn

Signed-off-by: jongwooo <jongwooo.han@gmail.com>

Signed-off-by: jongwooo <jongwooo.han@gmail.com>
This commit is contained in:
Jongwoo Han 2022-12-19 22:00:46 +09:00 committed by GitHub
parent 2c3dd9e7e2
commit 206e984b94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 25 deletions

View file

@ -42,14 +42,13 @@ describe('validateVersion', () => {
describe('isCacheFeatureAvailable', () => { describe('isCacheFeatureAvailable', () => {
it('isCacheFeatureAvailable disabled on GHES', () => { it('isCacheFeatureAvailable disabled on GHES', () => {
jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false); jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false);
const infoMock = jest.spyOn(core, 'warning');
const message =
'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.';
try { try {
process.env['GITHUB_SERVER_URL'] = 'http://example.com'; process.env['GITHUB_SERVER_URL'] = 'http://example.com';
isCacheFeatureAvailable(); expect(isCacheFeatureAvailable()).toBeFalsy();
} catch (error) { expect(infoMock).toHaveBeenCalledWith(message);
expect(error).toHaveProperty(
'message',
'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.'
);
} finally { } finally {
delete process.env['GITHUB_SERVER_URL']; delete process.env['GITHUB_SERVER_URL'];
} }

13
dist/setup/index.js vendored
View file

@ -67057,16 +67057,15 @@ function isGhes() {
} }
exports.isGhes = isGhes; exports.isGhes = isGhes;
function isCacheFeatureAvailable() { function isCacheFeatureAvailable() {
if (!cache.isFeatureAvailable()) { if (cache.isFeatureAvailable()) {
return true;
}
if (isGhes()) { if (isGhes()) {
throw new Error('Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.'); core.warning('Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the 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 false;
} }
return true; core.warning('The runner was not able to contact the cache service. Caching will be skipped');
return false;
} }
exports.isCacheFeatureAvailable = isCacheFeatureAvailable; exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
function logWarning(message) { function logWarning(message) {

View file

@ -105,21 +105,21 @@ export function isGhes(): boolean {
} }
export function isCacheFeatureAvailable(): boolean { export function isCacheFeatureAvailable(): boolean {
if (!cache.isFeatureAvailable()) { if (cache.isFeatureAvailable()) {
if (isGhes()) { return true;
throw new Error(
'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the 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 (isGhes()) {
core.warning(
'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.'
);
return false; return false;
} }
return true; core.warning(
'The runner was not able to contact the cache service. Caching will be skipped'
);
return false;
} }
export function logWarning(message: string): void { export function logWarning(message: string): void {