★ wanayoo — archive 1999 https://github.com/nodejs/node/commit/3756be8511Nouvelle recherche | Portail wanayoo
Skip to content
Permalink
Browse files
tools: add NODE_TEST_NO_INTERNET to the doc builder
At the moment the doc builder tries to access the internet
for CHANGELOG information and only falls back to local sources
after the connection fails or a 5 second timeout. This means
that the doc building could take at least 7 minutes on a
machine with hijacked connection to Github for useless network
attempts. This patch adds a NODE_TEST_NO_INTERNET environment
variable to directly bypass these attempts so that docs can be
built in reasonable time on a machine like that.

Backport-PR-URL: #32642
PR-URL: #31849
Fixes: #29918
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
joyeecheung authored and BethGriggs committed Apr 6, 2020
1 parent ac1ea73 commit 3756be851117d02ce1290a6f8f7730206f456191
Showing with 16 additions and 10 deletions.
  1. +16 −10 tools/doc/versions.js
@@ -31,6 +31,8 @@ const getUrl = (url) => {
});
};

const kNoInternet = !!process.env.NODE_TEST_NO_INTERNET;

module.exports = {
async versions() {
if (_versions) {
@@ -42,16 +44,20 @@ module.exports = {
const url =
'https://raw.githubusercontent.com/nodejs/node/master/CHANGELOG.md';
let changelog;
try {
changelog = await getUrl(url);
} catch (e) {
// Fail if this is a release build, otherwise fallback to local files.
if (isRelease()) {
throw e;
} else {
const file = path.join(srcRoot, 'CHANGELOG.md');
console.warn(`Unable to retrieve ${url}. Falling back to ${file}.`);
changelog = readFileSync(file, { encoding: 'utf8' });
const file = path.join(srcRoot, 'CHANGELOG.md');
if (kNoInternet) {
changelog = readFileSync(file, { encoding: 'utf8' });
} else {
try {
changelog = await getUrl(url);
} catch (e) {
// Fail if this is a release build, otherwise fallback to local files.
if (isRelease()) {
throw e;
} else {
console.warn(`Unable to retrieve ${url}. Falling back to ${file}.`);
changelog = readFileSync(file, { encoding: 'utf8' });
}
}
}
const ltsRE = /Long Term Support/i;

0 comments on commit 3756be8

Please sign in to comment.