mirror of
https://github.com/actions/setup-node.git
synced 2025-07-04 08:33:47 +00:00
Allow using .tool-versions for node-version-file
This enables developers which use `asdf` to use their version file Signed-off-by: Timo Sand <timo.sand@iki.fi>
This commit is contained in:
parent
ed960c9656
commit
bd33d2e93f
3 changed files with 36 additions and 0 deletions
2
__tests__/data/.tool-versions
Normal file
2
__tests__/data/.tool-versions
Normal file
|
@ -0,0 +1,2 @@
|
|||
yarn 1.22.4
|
||||
nodejs 17.6.0
|
|
@ -601,6 +601,32 @@ describe('setup-node', () => {
|
|||
);
|
||||
});
|
||||
|
||||
it('reads node-version-file of `asdf` if provided', async () => {
|
||||
// Arrange
|
||||
const versionSpec = `yarn 1.22.4
|
||||
nodejs 17.6.0
|
||||
`;
|
||||
const versionFile = '.tool-versions';
|
||||
const expectedVersionSpec = '17.6.0';
|
||||
process.env['GITHUB_WORKSPACE'] = path.join(__dirname, 'data');
|
||||
inputs['node-version-file'] = versionFile;
|
||||
|
||||
parseNodeVersionSpy.mockImplementation(() => expectedVersionSpec);
|
||||
existsSpy.mockImplementationOnce(
|
||||
input => input === path.join(__dirname, 'data', versionFile)
|
||||
);
|
||||
// Act
|
||||
await main.run();
|
||||
|
||||
// Assert
|
||||
expect(existsSpy).toHaveBeenCalledTimes(1);
|
||||
expect(existsSpy).toHaveReturnedWith(true);
|
||||
expect(parseNodeVersionSpy).toHaveBeenCalledWith(versionSpec);
|
||||
expect(logSpy).toHaveBeenCalledWith(
|
||||
`Resolved ${versionFile} as ${expectedVersionSpec}`
|
||||
);
|
||||
});
|
||||
|
||||
it('both node-version-file and node-version are provided', async () => {
|
||||
inputs['node-version'] = '12';
|
||||
const versionSpec = 'v14';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue