Add test for node-version *

This commit is contained in:
Jack Bates 2022-05-13 11:43:08 -07:00
parent 17f8bd9264
commit 7b47010eac
2 changed files with 40 additions and 44 deletions

View file

@ -127,6 +127,24 @@ jobs:
run: __tests__/verify-node.sh 0.12.18 SKIP_NPM run: __tests__/verify-node.sh 0.12.18 SKIP_NPM
shell: bash shell: bash
latest-version:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: ./
with:
node-version: '*'
check-latest: true
- name: Verify node and npm
run: |
. "$NVM_DIR/nvm.sh"
[[ $(nvm version-remote node) =~ ^v([^.]+) ]]
__tests__/verify-node.sh "${BASH_REMATCH[1]}"
shell: bash
arch: arch:
runs-on: windows-latest runs-on: windows-latest
steps: steps:

View file

@ -135,8 +135,15 @@ describe('setup-node', () => {
expect(versions?.length).toBe(23); expect(versions?.length).toBe(23);
}); });
it('can find 12.16.2 from manifest on osx', async () => { it.each([
os.platform = 'darwin'; ['12.16.2', 'darwin', '12.16.2', 'Erbium'],
['12', 'linux', '12.16.2', 'Erbium'],
['10', 'win32', '10.20.1', 'Dubnium'],
['*', 'linux', '14.0.0', 'Fermium']
])(
'can find %s from manifest on %s',
async (versionSpec, platform, expectedVersion, expectedLts) => {
os.platform = platform;
os.arch = 'x64'; os.arch = 'x64';
let versions: tc.IToolRelease[] | null = await tc.getManifestFromRepo( let versions: tc.IToolRelease[] | null = await tc.getManifestFromRepo(
'actions', 'actions',
@ -144,41 +151,12 @@ describe('setup-node', () => {
'mocktoken' 'mocktoken'
); );
expect(versions).toBeDefined(); expect(versions).toBeDefined();
let match = await tc.findFromManifest('12.16.2', true, versions); let match = await tc.findFromManifest(versionSpec, true, versions);
expect(match).toBeDefined(); expect(match).toBeDefined();
expect(match?.version).toBe('12.16.2'); expect(match?.version).toBe(expectedVersion);
expect((match as any).lts).toBe('Erbium'); expect((match as any).lts).toBe(expectedLts);
}); }
it('can find 12 from manifest on linux', async () => {
os.platform = 'linux';
os.arch = 'x64';
let versions: tc.IToolRelease[] | null = await tc.getManifestFromRepo(
'actions',
'node-versions',
'mocktoken'
); );
expect(versions).toBeDefined();
let match = await tc.findFromManifest('12.16.2', true, versions);
expect(match).toBeDefined();
expect(match?.version).toBe('12.16.2');
expect((match as any).lts).toBe('Erbium');
});
it('can find 10 from manifest on windows', async () => {
os.platform = 'win32';
os.arch = 'x64';
let versions: tc.IToolRelease[] | null = await tc.getManifestFromRepo(
'actions',
'node-versions',
'mocktoken'
);
expect(versions).toBeDefined();
let match = await tc.findFromManifest('10', true, versions);
expect(match).toBeDefined();
expect(match?.version).toBe('10.20.1');
expect((match as any).lts).toBe('Dubnium');
});
//-------------------------------------------------- //--------------------------------------------------
// Found in cache tests // Found in cache tests