If we were to upgrade npm to 5+ (I think) that would support package-lock.json https://docs.npmjs.com/files/package-lock.json
That file would be committed to our code repository and allow the CI to skip the dependency resolution step(s). This means that the tar/zip or clone would happen directly without involving registry.npmjs.org at all.
Upgrading npm (and adding a package-lock.json file) might be outside of the scope of this issue, but I think it would help mitigate/resolve the problem.
On Thu, Jun 28, 2018 at 10:26 AM Antoine Musso hashar+wmf@free.fr wrote:
Hello,
Since June 27th, any CI job running 'npm install' might suffer from a 10 minutes extra delay.
Somehow when requesting package informations from the NpmJS CDN (CloudFlare), the connection holds for ten minutes. npm just idles waiting for a reply. Then eventually it shows:
npm ERR! registry error parsing json
npm then retry and process as usual.
The json error is due to a CloudFlare HTML page stating:
The page could not be rendered due to a temporary fault.
The impact is any Jenkins job using npm have a high chance of taking 10 more minutes to build. That notably impacts MediaWiki core and all its extensions.
A few minutes ago, I have made a change to run npm with --loglevel=info which would give some hints about what it is doing by causing npm to emit more informations in the console. (verbose would be way too much log though).
I have filled a bug to npm: https://github.com/npm/npm/issues/21101 Our task: https://phabricator.wikimedia.org/T198348
I have no idea how to mitigate the issue :-(
-- Antoine "hashar" Musso
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l