feat: support private mirrors (#1240)
Some checks failed
Basic validation / Basic validation (push) Failing after 2s
CodeQL analysis / CodeQL analysis (push) Failing after 3s
Check dist / Check dist/ (push) Failing after 4s
e2e-cache / Test pnpm (Node 20, ubuntu-latest) (push) Failing after 30s
e2e-cache / Test pnpm (Node 18, ubuntu-latest) (push) Failing after 48s
e2e-cache / Test yarn 1 (Node 18, ubuntu-latest) (push) Failing after 32s
e2e-cache / Test pnpm (Node 22, ubuntu-latest) (push) Failing after 1m7s
e2e-cache / Test yarn 1 (Node 20, ubuntu-latest) (push) Failing after 31s
e2e-cache / Test yarn 3 (Node 20, ubuntu-latest) (push) Failing after 24s
e2e-cache / Test yarn 3 (Node 18, ubuntu-latest) (push) Failing after 36s
e2e-cache / Test yarn subprojects (18) (push) Failing after 29s
e2e-cache / Test yarn 3 (Node 22, ubuntu-latest) (push) Failing after 32s
e2e-cache / Test yarn subprojects (22) (push) Failing after 29s
e2e-cache / Test yarn subprojects (20) (push) Failing after 37s
e2e-cache / Test yarn subprojects all locally managed (18) (push) Failing after 27s
e2e-cache / Test yarn subprojects all locally managed (20) (push) Failing after 36s
e2e-cache / Test yarn subprojects all locally managed (22) (push) Failing after 23s
e2e-cache / Test yarn subprojects some locally managed (20) (push) Failing after 27s
e2e-cache / Test yarn subprojects some locally managed (18) (push) Failing after 33s
e2e-cache / Test yarn subprojects some locally managed (22) (push) Failing after 23s
e2e-cache / Test yarn subprojects managed by git (18) (push) Failing after 33s
e2e-cache / Test yarn subprojects managed by git (20) (push) Failing after 27s
Licensed / Licensed (push) Failing after 3s
proxy / test-proxy (push) Failing after 8s
e2e-cache / Test yarn subprojects managed by git (22) (push) Failing after 31s
proxy / test-bypass-proxy (push) Failing after 34s
versions / local-cache (18, ubuntu-latest) (push) Failing after 30s
versions / local-cache (20, ubuntu-latest) (push) Successful in 32s
versions / local-cache (22, ubuntu-latest) (push) Failing after 31s
versions / lts-syntax (lts/*, ubuntu-latest) (push) Failing after 30s
versions / lts-syntax (lts/-1, ubuntu-latest) (push) Failing after 30s
versions / lts-syntax (lts/dubnium, ubuntu-latest) (push) Failing after 31s
versions / lts-syntax (lts/erbium, ubuntu-latest) (push) Failing after 31s
versions / lts-syntax (lts/fermium, ubuntu-latest) (push) Failing after 32s
e2e-cache / Test npm (Node 18, ubuntu-latest) (push) Successful in 9m45s
versions / v8-canary-syntax (20-v8-canary, ubuntu-latest) (push) Successful in 39s
e2e-cache / Test npm (Node 20, ubuntu-latest) (push) Successful in 9m53s
e2e-cache / Test npm (Node 22, ubuntu-latest) (push) Successful in 9m50s
versions / v8-canary-syntax (20.0.0-v8-canary, ubuntu-latest) (push) Successful in 32s
versions / v8-canary-syntax (20.0.0-v8-canary20221101e50e45c9f8, ubuntu-latest) (push) Successful in 35s
versions / nightly-syntax (18.0.0-nightly, ubuntu-latest) (push) Successful in 34s
versions / nightly-syntax (20-nightly, ubuntu-latest) (push) Successful in 36s
versions / nightly-syntax (21-nightly, ubuntu-latest) (push) Successful in 39s
versions / rc-syntax (18.0.0-rc.2, ubuntu-latest) (push) Successful in 39s
versions / rc-syntax (19.0.0-rc.0, ubuntu-latest) (push) Successful in 31s
versions / rc-syntax (20.0.0-rc.1, ubuntu-latest) (push) Successful in 38s
versions / manifest (18.20.0, ubuntu-latest) (push) Successful in 45s
versions / manifest (22.0.0, ubuntu-latest) (push) Successful in 36s
versions / manifest (20.10.0, ubuntu-latest) (push) Successful in 41s
versions / check-latest (18, ubuntu-latest) (push) Successful in 49s
versions / check-latest (20, ubuntu-latest) (push) Successful in 32s
versions / check-latest (22, ubuntu-latest) (push) Successful in 31s
versions / version-file (.nvmrc, ubuntu-latest) (push) Successful in 39s
versions / version-file (.tool-versions, ubuntu-latest) (push) Successful in 41s
versions / version-file (.tool-versions-node, ubuntu-latest) (push) Successful in 33s
versions / version-file (package.json, ubuntu-latest) (push) Successful in 36s
versions / version-file-volta (ubuntu-latest) (push) Successful in 32s
versions / node-dist (17, ubuntu-latest) (push) Successful in 36s
versions / version-file-volta-extends (ubuntu-latest) (push) Successful in 39s
versions / old-versions (ubuntu-latest) (push) Successful in 29s
versions / node-dist (19, ubuntu-latest) (push) Successful in 38s
versions / node-latest-aliases (latest, ubuntu-latest) (push) Successful in 32s
versions / node-latest-aliases (current, ubuntu-latest) (push) Successful in 40s
versions / node-latest-aliases (node, ubuntu-latest) (push) Successful in 32s
e2e-cache / Test npm (Node 18, macos-13) (push) Has been cancelled
e2e-cache / Test npm (Node 18, macos-latest) (push) Has been cancelled
e2e-cache / Test npm (Node 18, windows-latest) (push) Has been cancelled
e2e-cache / Test npm (Node 20, macos-13) (push) Has been cancelled
e2e-cache / Test npm (Node 20, macos-latest) (push) Has been cancelled
e2e-cache / Test npm (Node 20, windows-latest) (push) Has been cancelled
e2e-cache / Test npm (Node 22, macos-13) (push) Has been cancelled
e2e-cache / Test npm (Node 22, macos-latest) (push) Has been cancelled
e2e-cache / Test npm (Node 22, windows-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 18, macos-13) (push) Has been cancelled
e2e-cache / Test pnpm (Node 18, macos-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 18, windows-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 20, macos-13) (push) Has been cancelled
e2e-cache / Test pnpm (Node 20, macos-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 20, windows-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 22, macos-13) (push) Has been cancelled
e2e-cache / Test pnpm (Node 22, macos-latest) (push) Has been cancelled
e2e-cache / Test pnpm (Node 22, windows-latest) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 18, macos-13) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 18, macos-latest) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 18, windows-latest) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 20, macos-13) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 20, macos-latest) (push) Has been cancelled
e2e-cache / Test yarn 1 (Node 20, windows-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 18, macos-13) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 18, macos-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 18, windows-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 20, macos-13) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 20, macos-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 20, windows-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 22, macos-13) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 22, macos-latest) (push) Has been cancelled
e2e-cache / Test yarn 3 (Node 22, windows-latest) (push) Has been cancelled
versions / local-cache (18, macos-13) (push) Has been cancelled
versions / local-cache (18, macos-latest) (push) Has been cancelled
versions / local-cache (18, windows-latest) (push) Has been cancelled
versions / local-cache (20, macos-13) (push) Has been cancelled
versions / local-cache (20, macos-latest) (push) Has been cancelled
versions / local-cache (20, windows-latest) (push) Has been cancelled
versions / local-cache (22, macos-13) (push) Has been cancelled
versions / local-cache (22, macos-latest) (push) Has been cancelled
versions / local-cache (22, windows-latest) (push) Has been cancelled
versions / lts-syntax (lts/*, macos-13) (push) Has been cancelled
versions / lts-syntax (lts/*, windows-latest) (push) Has been cancelled
versions / lts-syntax (lts/-1, macos-13) (push) Has been cancelled
versions / lts-syntax (lts/-1, windows-latest) (push) Has been cancelled
versions / lts-syntax (lts/dubnium, macos-13) (push) Has been cancelled
versions / lts-syntax (lts/dubnium, windows-latest) (push) Has been cancelled
versions / lts-syntax (lts/erbium, macos-13) (push) Has been cancelled
versions / lts-syntax (lts/erbium, windows-latest) (push) Has been cancelled
versions / lts-syntax (lts/fermium, macos-13) (push) Has been cancelled
versions / lts-syntax (lts/fermium, windows-latest) (push) Has been cancelled
versions / v8-canary-syntax (20-v8-canary, macos-13) (push) Has been cancelled
versions / v8-canary-syntax (20-v8-canary, macos-latest) (push) Has been cancelled
versions / v8-canary-syntax (20-v8-canary, windows-latest) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary, macos-13) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary, macos-latest) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary, windows-latest) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary20221101e50e45c9f8, macos-13) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary20221101e50e45c9f8, macos-latest) (push) Has been cancelled
versions / v8-canary-syntax (20.0.0-v8-canary20221101e50e45c9f8, windows-latest) (push) Has been cancelled
versions / nightly-syntax (18.0.0-nightly, macos-13) (push) Has been cancelled
versions / nightly-syntax (18.0.0-nightly, macos-latest) (push) Has been cancelled
versions / nightly-syntax (18.0.0-nightly, windows-latest) (push) Has been cancelled
versions / nightly-syntax (20-nightly, macos-13) (push) Has been cancelled
versions / nightly-syntax (20-nightly, macos-latest) (push) Has been cancelled
versions / nightly-syntax (20-nightly, windows-latest) (push) Has been cancelled
versions / nightly-syntax (21-nightly, macos-13) (push) Has been cancelled
versions / nightly-syntax (21-nightly, macos-latest) (push) Has been cancelled
versions / nightly-syntax (21-nightly, windows-latest) (push) Has been cancelled
versions / rc-syntax (18.0.0-rc.2, macos-13) (push) Has been cancelled
versions / rc-syntax (18.0.0-rc.2, macos-latest) (push) Has been cancelled
versions / rc-syntax (18.0.0-rc.2, windows-latest) (push) Has been cancelled
versions / rc-syntax (19.0.0-rc.0, macos-13) (push) Has been cancelled
versions / rc-syntax (19.0.0-rc.0, macos-latest) (push) Has been cancelled
versions / rc-syntax (19.0.0-rc.0, windows-latest) (push) Has been cancelled
versions / rc-syntax (20.0.0-rc.1, macos-13) (push) Has been cancelled
versions / rc-syntax (20.0.0-rc.1, macos-latest) (push) Has been cancelled
versions / rc-syntax (20.0.0-rc.1, windows-latest) (push) Has been cancelled
versions / manifest (18.20.0, macos-13) (push) Has been cancelled
versions / manifest (18.20.0, macos-latest) (push) Has been cancelled
versions / manifest (18.20.0, windows-latest) (push) Has been cancelled
versions / manifest (20.10.0, macos-13) (push) Has been cancelled
versions / manifest (20.10.0, macos-latest) (push) Has been cancelled
versions / manifest (20.10.0, windows-latest) (push) Has been cancelled
versions / manifest (22.0.0, macos-13) (push) Has been cancelled
versions / manifest (22.0.0, macos-latest) (push) Has been cancelled
versions / manifest (22.0.0, windows-latest) (push) Has been cancelled
versions / check-latest (18, macos-13) (push) Has been cancelled
versions / check-latest (18, macos-latest) (push) Has been cancelled
versions / check-latest (18, windows-latest) (push) Has been cancelled
versions / check-latest (20, macos-13) (push) Has been cancelled
versions / check-latest (20, macos-latest) (push) Has been cancelled
versions / check-latest (20, windows-latest) (push) Has been cancelled
versions / check-latest (22, macos-13) (push) Has been cancelled
versions / check-latest (22, macos-latest) (push) Has been cancelled
versions / check-latest (22, windows-latest) (push) Has been cancelled
versions / version-file (.nvmrc, macos-13) (push) Has been cancelled
versions / version-file (.nvmrc, macos-latest) (push) Has been cancelled
versions / version-file (.nvmrc, windows-latest) (push) Has been cancelled
versions / version-file (.tool-versions, macos-13) (push) Has been cancelled
versions / version-file (.tool-versions, macos-latest) (push) Has been cancelled
versions / version-file (.tool-versions, windows-latest) (push) Has been cancelled
versions / version-file (.tool-versions-node, macos-13) (push) Has been cancelled
versions / version-file (.tool-versions-node, macos-latest) (push) Has been cancelled
versions / version-file (.tool-versions-node, windows-latest) (push) Has been cancelled
versions / version-file (package.json, macos-13) (push) Has been cancelled
versions / version-file (package.json, macos-latest) (push) Has been cancelled
versions / version-file (package.json, windows-latest) (push) Has been cancelled
versions / version-file-volta (macos-13) (push) Has been cancelled
versions / version-file-volta (macos-latest) (push) Has been cancelled
versions / version-file-volta (windows-latest) (push) Has been cancelled
versions / version-file-volta-extends (macos-13) (push) Has been cancelled
versions / version-file-volta-extends (macos-latest) (push) Has been cancelled
versions / version-file-volta-extends (windows-latest) (push) Has been cancelled
versions / node-dist (17, macos-13) (push) Has been cancelled
versions / node-dist (17, macos-latest) (push) Has been cancelled
versions / node-dist (17, windows-latest) (push) Has been cancelled
versions / node-dist (19, macos-13) (push) Has been cancelled
versions / node-dist (19, macos-latest) (push) Has been cancelled
versions / node-dist (19, windows-latest) (push) Has been cancelled
versions / old-versions (macos-13) (push) Has been cancelled
versions / old-versions (windows-latest) (push) Has been cancelled
versions / arch (push) Has been cancelled
versions / node-latest-aliases (current, macos-13) (push) Has been cancelled
versions / node-latest-aliases (current, macos-latest) (push) Has been cancelled
versions / node-latest-aliases (current, windows-latest) (push) Has been cancelled
versions / node-latest-aliases (latest, macos-13) (push) Has been cancelled
versions / node-latest-aliases (latest, macos-latest) (push) Has been cancelled
versions / node-latest-aliases (latest, windows-latest) (push) Has been cancelled
versions / node-latest-aliases (node, macos-13) (push) Has been cancelled
versions / node-latest-aliases (node, macos-latest) (push) Has been cancelled
versions / node-latest-aliases (node, windows-latest) (push) Has been cancelled

* feat: support private mirrors

* chore: change fallback message with mirrors
This commit is contained in:
Marco Ippolito
2025-04-02 17:49:47 +02:00
committed by GitHub
parent 40337cb8f7
commit e3ce749e20
14 changed files with 322 additions and 44 deletions

View File

@@ -498,6 +498,70 @@ describe('setup-node', () => {
);
}
);
it.each([
[
'20.0.0-v8-canary',
'20.0.0-v8-canary20221103f7e2421e91',
'20.0.0-v8-canary20221030fefe1c0879',
'https://my_mirror.org/download/v8-canary/v20.0.0-v8-canary20221103f7e2421e91/node-v20.0.0-v8-canary20221103f7e2421e91-linux-x64.tar.gz'
],
[
'20-v8-canary',
'20.0.0-v8-canary20221103f7e2421e91',
'20.0.0-v8-canary20221030fefe1c0879',
'https://my_mirror.org/download/v8-canary/v20.0.0-v8-canary20221103f7e2421e91/node-v20.0.0-v8-canary20221103f7e2421e91-linux-x64.tar.gz'
],
[
'19.0.0-v8-canary',
'19.0.0-v8-canary202210187d6960f23f',
'19.0.0-v8-canary202210172ec229fc56',
'https://my_mirror.org/download/v8-canary/v19.0.0-v8-canary202210187d6960f23f/node-v19.0.0-v8-canary202210187d6960f23f-linux-x64.tar.gz'
],
[
'19-v8-canary',
'19.0.0-v8-canary202210187d6960f23f',
'19.0.0-v8-canary202210172ec229fc56',
'https://my_mirror.org/download/v8-canary/v19.0.0-v8-canary202210187d6960f23f/node-v19.0.0-v8-canary202210187d6960f23f-linux-x64.tar.gz'
]
])(
'get %s version from dist if check-latest is true',
async (input, expectedVersion, foundVersion, expectedUrl) => {
const foundToolPath = path.normalize(`/cache/node/${foundVersion}/x64`);
const toolPath = path.normalize(`/cache/node/${expectedVersion}/x64`);
inputs['node-version'] = input;
inputs['check-latest'] = 'true';
os['arch'] = 'x64';
os['platform'] = 'linux';
inputs['mirror'] = 'https://my_mirror.org';
inputs['mirror-token'] = 'faketoken';
findSpy.mockReturnValue(foundToolPath);
findAllVersionsSpy.mockReturnValue([
'20.0.0-v8-canary20221030fefe1c0879',
'19.0.0-v8-canary202210172ec229fc56',
'20.0.0-v8-canary2022102310ff1e5a8d'
]);
dlSpy.mockImplementation(async () => '/some/temp/path');
exSpy.mockImplementation(async () => '/some/other/temp/path');
cacheSpy.mockImplementation(async () => toolPath);
// act
await main.run();
// assert
expect(findAllVersionsSpy).toHaveBeenCalled();
expect(logSpy).toHaveBeenCalledWith(
`Acquiring ${expectedVersion} - ${os.arch} from ${expectedUrl}`
);
expect(logSpy).toHaveBeenCalledWith('Extracting ...');
expect(logSpy).toHaveBeenCalledWith('Adding to the cache ...');
expect(cnSpy).toHaveBeenCalledWith(
`::add-path::${path.join(toolPath, 'bin')}${osm.EOL}`
);
}
);
});
describe('setup-node v8 canary tests', () => {