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:
Timo Sand 2022-03-15 22:40:41 +02:00
parent ed960c9656
commit bd33d2e93f
No known key found for this signature in database
GPG key ID: A9A4F4CA7A0DB372
3 changed files with 36 additions and 0 deletions

View file

@ -0,0 +1,2 @@
yarn 1.22.4
nodejs 17.6.0

View file

@ -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';