mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-03-01 04:33:24 +00:00
code improvements
This commit is contained in:
parent
30c33f0409
commit
5d5d8e9b58
4 changed files with 51 additions and 16 deletions
|
@ -13,6 +13,7 @@ import each from 'jest-each';
|
||||||
import * as main from '../src/main';
|
import * as main from '../src/main';
|
||||||
import * as util from '../src/util';
|
import * as util from '../src/util';
|
||||||
import OfficialBuilds from '../src/distributions/official_builds/official_builds';
|
import OfficialBuilds from '../src/distributions/official_builds/official_builds';
|
||||||
|
import { validateMirrorURL } from '../src/util';
|
||||||
|
|
||||||
describe('main tests', () => {
|
describe('main tests', () => {
|
||||||
let inputs = {} as any;
|
let inputs = {} as any;
|
||||||
|
@ -280,4 +281,40 @@ describe('main tests', () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
describe('mirror-url parameter', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
inputs['mirror-url'] = 'https://custom-mirror-url.com';
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
delete inputs['mirror-url'];
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Read mirror-url if mirror-url is provided', async () => {
|
||||||
|
// Arrange
|
||||||
|
inputs['mirror-url'] = 'https://custom-mirror-url.com';
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await main.run();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(inputs['mirror-url']).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should throw an error if mirror-url is empty', async () => {
|
||||||
|
// Arrange
|
||||||
|
inputs['mirror-url'] = ' ';
|
||||||
|
|
||||||
|
// Mock log and setFailed
|
||||||
|
const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {}); // Mock the log function
|
||||||
|
|
||||||
|
// Act & Assert
|
||||||
|
expect(() => validateMirrorURL(inputs['mirror-url'])).toThrow(
|
||||||
|
'Mirror URL is empty. Please provide a valid mirror URL.'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
15
dist/setup/index.js
vendored
15
dist/setup/index.js
vendored
|
@ -100165,16 +100165,15 @@ class BaseDistribution {
|
||||||
catch (err) {
|
catch (err) {
|
||||||
if (err instanceof Error &&
|
if (err instanceof Error &&
|
||||||
err.message.includes('getaddrinfo EAI_AGAIN')) {
|
err.message.includes('getaddrinfo EAI_AGAIN')) {
|
||||||
core.error(`Network error: Failed to resolve the server at ${dataUrl}.
|
core.setFailed(`Network error: Failed to resolve the server at ${dataUrl}.
|
||||||
Please check your DNS settings or verify that the URL is correct.`);
|
Please check your DNS settings or verify that the URL is correct.`);
|
||||||
}
|
}
|
||||||
else if (err instanceof hc.HttpClientError && err.statusCode === 404) {
|
else if (err instanceof hc.HttpClientError && err.statusCode === 404) {
|
||||||
core.error(`404 Error: Unable to find versions at ${dataUrl}.
|
core.setFailed(`404 Error: Unable to find versions at ${dataUrl}.
|
||||||
Please verify that the mirror URL is valid.`);
|
Please verify that the mirror URL is valid.`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.error(`Failed to fetch Node.js versions from ${dataUrl}.
|
core.setFailed(`Failed to fetch Node.js versions from ${dataUrl}.Please check the URL and try again.}`);
|
||||||
Please check the URL and try again.}`);
|
|
||||||
}
|
}
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
|
@ -100525,8 +100524,8 @@ class OfficialBuilds extends base_distribution_1.default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
core.info(err.message);
|
core.setFailed(err.message);
|
||||||
core.info('Download failed');
|
core.setFailed('Download failed');
|
||||||
core.debug((_a = err.stack) !== null && _a !== void 0 ? _a : 'empty stack');
|
core.debug((_a = err.stack) !== null && _a !== void 0 ? _a : 'empty stack');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100726,13 +100725,13 @@ class OfficialBuilds extends base_distribution_1.default {
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
if (error instanceof tc.HTTPError && error.httpStatusCode === 404) {
|
if (error instanceof tc.HTTPError && error.httpStatusCode === 404) {
|
||||||
core.error(`Node version ${this.nodeInfo.versionSpec} for platform ${this.osPlat} and architecture ${this.nodeInfo.arch} was found but failed to download. ` +
|
core.setFailed(`Node version ${this.nodeInfo.versionSpec} for platform ${this.osPlat} and architecture ${this.nodeInfo.arch} was found but failed to download. ` +
|
||||||
'This usually happens when downloadable binaries are not fully updated at https://nodejs.org/. ' +
|
'This usually happens when downloadable binaries are not fully updated at https://nodejs.org/. ' +
|
||||||
'To resolve this issue you may either fall back to the older version or try again later.');
|
'To resolve this issue you may either fall back to the older version or try again later.');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// For any other error type, you can log the error message.
|
// For any other error type, you can log the error message.
|
||||||
core.error(`An unexpected error occurred like url might not correct`);
|
core.setFailed(`An unexpected error occurred like url might not correct`);
|
||||||
}
|
}
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,14 +116,13 @@ export default abstract class BaseDistribution {
|
||||||
err instanceof Error &&
|
err instanceof Error &&
|
||||||
err.message.includes('getaddrinfo EAI_AGAIN')
|
err.message.includes('getaddrinfo EAI_AGAIN')
|
||||||
) {
|
) {
|
||||||
core.error(`Network error: Failed to resolve the server at ${dataUrl}.
|
core.setFailed(`Network error: Failed to resolve the server at ${dataUrl}.
|
||||||
Please check your DNS settings or verify that the URL is correct.`);
|
Please check your DNS settings or verify that the URL is correct.`);
|
||||||
} else if (err instanceof hc.HttpClientError && err.statusCode === 404) {
|
} else if (err instanceof hc.HttpClientError && err.statusCode === 404) {
|
||||||
core.error(`404 Error: Unable to find versions at ${dataUrl}.
|
core.setFailed(`404 Error: Unable to find versions at ${dataUrl}.
|
||||||
Please verify that the mirror URL is valid.`);
|
Please verify that the mirror URL is valid.`);
|
||||||
} else {
|
} else {
|
||||||
core.error(`Failed to fetch Node.js versions from ${dataUrl}.
|
core.setFailed(`Failed to fetch Node.js versions from ${dataUrl}.Please check the URL and try again.}`);
|
||||||
Please check the URL and try again.}`);
|
|
||||||
}
|
}
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,8 @@ export default class OfficialBuilds extends BaseDistribution {
|
||||||
const toolPath = downloadPath;
|
const toolPath = downloadPath;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.info((err as Error).message);
|
core.setFailed((err as Error).message);
|
||||||
core.info('Download failed');
|
core.setFailed('Download failed');
|
||||||
core.debug((err as Error).stack ?? 'empty stack');
|
core.debug((err as Error).stack ?? 'empty stack');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -334,14 +334,14 @@ export default class OfficialBuilds extends BaseDistribution {
|
||||||
return toolPath;
|
return toolPath;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof tc.HTTPError && error.httpStatusCode === 404) {
|
if (error instanceof tc.HTTPError && error.httpStatusCode === 404) {
|
||||||
core.error(
|
core.setFailed(
|
||||||
`Node version ${this.nodeInfo.versionSpec} for platform ${this.osPlat} and architecture ${this.nodeInfo.arch} was found but failed to download. ` +
|
`Node version ${this.nodeInfo.versionSpec} for platform ${this.osPlat} and architecture ${this.nodeInfo.arch} was found but failed to download. ` +
|
||||||
'This usually happens when downloadable binaries are not fully updated at https://nodejs.org/. ' +
|
'This usually happens when downloadable binaries are not fully updated at https://nodejs.org/. ' +
|
||||||
'To resolve this issue you may either fall back to the older version or try again later.'
|
'To resolve this issue you may either fall back to the older version or try again later.'
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// For any other error type, you can log the error message.
|
// For any other error type, you can log the error message.
|
||||||
core.error(`An unexpected error occurred like url might not correct`);
|
core.setFailed(`An unexpected error occurred like url might not correct`);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw error;
|
throw error;
|
||||||
|
|
Loading…
Reference in a new issue