mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2024-12-25 03:55:50 +00:00
Print node, npm and yarn versions after installation (#368)
This commit is contained in:
parent
c96ab56c5b
commit
c81d8ad96d
4 changed files with 1020 additions and 953 deletions
|
@ -249,6 +249,21 @@ describe('setup-node', () => {
|
|||
|
||||
let expPath = path.join(toolPath, 'bin');
|
||||
|
||||
expect(getExecOutputSpy).toHaveBeenCalledWith(
|
||||
'node',
|
||||
['--version'],
|
||||
expect.anything()
|
||||
);
|
||||
expect(getExecOutputSpy).toHaveBeenCalledWith(
|
||||
'npm',
|
||||
['--version'],
|
||||
expect.anything()
|
||||
);
|
||||
expect(getExecOutputSpy).toHaveBeenCalledWith(
|
||||
'yarn',
|
||||
['--version'],
|
||||
expect.anything()
|
||||
);
|
||||
expect(dlSpy).toHaveBeenCalled();
|
||||
expect(exSpy).toHaveBeenCalled();
|
||||
expect(logSpy).toHaveBeenCalledWith(
|
||||
|
|
42
dist/setup/index.js
vendored
42
dist/setup/index.js
vendored
|
@ -73618,14 +73618,7 @@ function run() {
|
|||
const checkLatest = (core.getInput('check-latest') || 'false').toUpperCase() === 'TRUE';
|
||||
yield installer.getNode(version, stable, checkLatest, auth, arch);
|
||||
}
|
||||
// Output version of node is being used
|
||||
try {
|
||||
const { stdout: installedVersion } = yield exec.getExecOutput('node', ['--version'], { ignoreReturnCode: true, silent: true });
|
||||
core.setOutput('node-version', installedVersion.trim());
|
||||
}
|
||||
catch (err) {
|
||||
core.setOutput('node-version', '');
|
||||
}
|
||||
yield printEnvDetailsAndSetOutput();
|
||||
const registryUrl = core.getInput('registry-url');
|
||||
const alwaysAuth = core.getInput('always-auth');
|
||||
if (registryUrl) {
|
||||
|
@ -73665,6 +73658,39 @@ function resolveVersionInput() {
|
|||
}
|
||||
return version;
|
||||
}
|
||||
function printEnvDetailsAndSetOutput() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
core.startGroup('Environment details');
|
||||
const promises = ['node', 'npm', 'yarn'].map((tool) => __awaiter(this, void 0, void 0, function* () {
|
||||
const output = yield getToolVersion(tool, ['--version']);
|
||||
if (tool === 'node') {
|
||||
core.setOutput(`${tool}-version`, output);
|
||||
}
|
||||
core.info(`${tool}: ${output}`);
|
||||
}));
|
||||
yield Promise.all(promises);
|
||||
core.endGroup();
|
||||
});
|
||||
}
|
||||
exports.printEnvDetailsAndSetOutput = printEnvDetailsAndSetOutput;
|
||||
function getToolVersion(tool, options) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
try {
|
||||
const { stdout, stderr, exitCode } = yield exec.getExecOutput(tool, options, {
|
||||
ignoreReturnCode: true,
|
||||
silent: true
|
||||
});
|
||||
if (exitCode > 0) {
|
||||
core.warning(`[warning]${stderr}`);
|
||||
return '';
|
||||
}
|
||||
return stdout;
|
||||
}
|
||||
catch (err) {
|
||||
return '';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
|
48
src/main.ts
48
src/main.ts
|
@ -40,17 +40,7 @@ export async function run() {
|
|||
await installer.getNode(version, stable, checkLatest, auth, arch);
|
||||
}
|
||||
|
||||
// Output version of node is being used
|
||||
try {
|
||||
const {stdout: installedVersion} = await exec.getExecOutput(
|
||||
'node',
|
||||
['--version'],
|
||||
{ignoreReturnCode: true, silent: true}
|
||||
);
|
||||
core.setOutput('node-version', installedVersion.trim());
|
||||
} catch (err) {
|
||||
core.setOutput('node-version', '');
|
||||
}
|
||||
await printEnvDetailsAndSetOutput();
|
||||
|
||||
const registryUrl: string = core.getInput('registry-url');
|
||||
const alwaysAuth: string = core.getInput('always-auth');
|
||||
|
@ -111,3 +101,39 @@ function resolveVersionInput(): string {
|
|||
|
||||
return version;
|
||||
}
|
||||
|
||||
export async function printEnvDetailsAndSetOutput() {
|
||||
core.startGroup('Environment details');
|
||||
|
||||
const promises = ['node', 'npm', 'yarn'].map(async tool => {
|
||||
const output = await getToolVersion(tool, ['--version']);
|
||||
|
||||
if (tool === 'node') {
|
||||
core.setOutput(`${tool}-version`, output);
|
||||
}
|
||||
|
||||
core.info(`${tool}: ${output}`);
|
||||
});
|
||||
|
||||
await Promise.all(promises);
|
||||
|
||||
core.endGroup();
|
||||
}
|
||||
|
||||
async function getToolVersion(tool: string, options: string[]) {
|
||||
try {
|
||||
const {stdout, stderr, exitCode} = await exec.getExecOutput(tool, options, {
|
||||
ignoreReturnCode: true,
|
||||
silent: true
|
||||
});
|
||||
|
||||
if (exitCode > 0) {
|
||||
core.warning(`[warning]${stderr}`);
|
||||
return '';
|
||||
}
|
||||
|
||||
return stdout;
|
||||
} catch (err) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue