Page MenuHomePhabricator

Page previews and MobileFrontend webpack builds broken by upgrade to Node 18
Closed, ResolvedPublic

Description

The CI Node v18 jobs currently fail on gate-and-submit when submitting patches to the Page-Previews Popups extension.

11:01:08 CHECKING BUILD SOURCES ARE COMMITTED OR STAGED
11:01:09 node:internal/crypto/hash:69
11:01:09   this[kHandle] = new _Hash(algorithm, xofLen);
11:01:09                   ^
11:01:09 
11:01:09 Error: error:0308010C:digital envelope routines::unsupported
11:01:09     at new Hash (node:internal/crypto/hash:69:19)
11:01:09     at Object.createHash (node:crypto:133:10)
11:01:09     at module.exports (/src/node_modules/webpack/lib/util/createHash.js:135:53)
11:01:09     at NormalModule._initBuildHash (/src/node_modules/webpack/lib/NormalModule.js:417:16)
11:01:09     at /src/node_modules/webpack/lib/NormalModule.js:452:10
11:01:09     at /src/node_modules/webpack/lib/NormalModule.js:323:13
11:01:09     at /src/node_modules/loader-runner/lib/LoaderRunner.js:367:11
11:01:09     at /src/node_modules/loader-runner/lib/LoaderRunner.js:233:18
11:01:09     at context.callback (/src/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
11:01:09     at /src/node_modules/babel-loader/lib/index.js:51:103 {
11:01:09   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
11:01:09   library: 'digital envelope routines',
11:01:09   reason: 'unsupported',
11:01:09   code: 'ERR_OSSL_EVP_UNSUPPORTED'

Similar to T354881: [T-REF] Wikibase CI broken due to Tainted Reference Node 18 indirect crypto dependency incompatibility. Seems to started occurring around Jan 11th. A CI job before that date finished successfully.

Might be solvable by updating the used node packages involved.

Event Timeline

Change 989889 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Popups@master] [WIP] .nvmrc: Update now we're using Node 18

https://gerrit.wikimedia.org/r/989889

I've reached the end of my ability to re-write the Storybook stuff; I fear we're just going to have to (at least temporarily) delete it.

Let's just upgrade Node.js and remove storybook from the package.json doc command. We can port storybook to the new Node in a follow up task. No urgency fixing that right now and no need to delete it.

Let's just upgrade Node.js and remove storybook from the package.json doc command. We can port storybook to the new Node in a follow up task. No urgency fixing that right now and no need to delete it.

Ack, will do.

Change 989889 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Popups@master] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/989889

Change 989889 merged by jenkins-bot:

[mediawiki/extensions/Popups@master] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/989889

Jdlrobson renamed this task from Page previews build broken due to Node 18 indirect crypto dependency incompatibility with webpack to Page previews and MobileFrontend webpack builds broken by upgrade to Node 18.Jan 13 2024, 12:29 AM
Jdlrobson added a project: MobileFrontend.

Change 989888 had a related patch set uploaded (by Jdlrobson; author: Jforrester):

[mediawiki/extensions/MobileFrontend@master] .nvmrc: Update now we're using Node 18

https://gerrit.wikimedia.org/r/989888

Change 989888 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] .nvmrc: Update now we're using Node 18

https://gerrit.wikimedia.org/r/989888

Change 1006536 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Popups@REL1_41] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006536

Change 1006537 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Popups@REL1_40] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006537

Change 1006538 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Popups@REL1_39] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006538

Change 1006536 merged by jenkins-bot:

[mediawiki/extensions/Popups@REL1_41] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006536

Change 1006537 merged by jenkins-bot:

[mediawiki/extensions/Popups@REL1_40] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006537

Change 1006538 merged by jenkins-bot:

[mediawiki/extensions/Popups@REL1_39] .nvmrc: Update now we're using Node 18, and make CI pass

https://gerrit.wikimedia.org/r/1006538