Page MenuHomePhabricator

Upgrade all CI jobs for WMF-deployed projects from Node 14 to Node 16
Open, Needs TriagePublic

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
StalledNone
ResolvedNone
OpenNone
ResolvedJdforrester-WMF
OpenNone
ResolvedLucas_Werkmeister_WMDE
ResolvedJgiannelos
ResolvedOttomata
OpenNone
DeclinedNone
Resolvedzeljkofilipin
ResolvedOsamaahmed17
ResolvedNone
ResolvedNone
DuplicateBUG REPORTzeljkofilipin
ResolvedOsamaahmed17
Resolvedzeljkofilipin
ResolvedNone
ResolvedNone
ResolvedKrinkle
OpenNone
ResolvedOllie.Shotton_WMDE
ResolvedJakob_WMDE
DeclinedNone
OpenNone
ResolvedOsamaahmed17
Resolvedvaughnwalters
Resolvedzeljkofilipin
Resolvedzeljkofilipin
Resolvedzeljkofilipin
Resolvedzeljkofilipin
Resolvedkostajh
ResolvedOsamaahmed17
ResolvedOsamaahmed17
OpenNone
Resolvedpwangai
ResolvedWMDE-Fisch
ResolvedNone
ResolvedOsamaahmed17
ResolvedGehel
Resolvedpwangai
ResolvedNone
Invalidpwangai
ResolvedNone
InvalidNone
ResolvedOsamaahmed17
Resolvedvaughnwalters
Resolvedpwangai
ResolvedNone
InvalidNone
ResolvedOllie.Shotton_WMDE
ResolvedDreamy_Jazz
OpenNone
OpenNone

Event Timeline

(I created this task mainly so that we have something to point to as the blocker for T314468)

Jdforrester-WMF subscribed.

This is a CI config task. We're probably not going to do it very soon, and certainly not as-written; if we're going to switch one CI job's environment, we'll switch them all. We only just switched from node12 to node14 in March as part of T267890 which is not done yet due to T306995 – I note that both termbox and vuejs-components are both on that list.

Jdforrester-WMF renamed this task from Migrate all mwgate-node14-docker jobs to mwgate-node16-docker to Upgrade all CI jobs for WMF-deployed projects from Node 14 to Node 16.Aug 3 2022, 12:32 PM
Jdforrester-WMF updated the task description. (Show Details)
Jdforrester-WMF updated the task description. (Show Details)

Thank you. I'll look into that both termbox and vuejs-components are on our radar with the right priorities.

This came up, because the docker release in CI uses node 14.17, whereas the dependency we were considering updating requires at least 14.18. In T314051, it was suggested to us to rather look toward node 16.
That being said, Vite 2 is working perfectly fine, so there is no urgency here from our end.

Grunt 1.6.0 also nominally requires Node 16 now (though CI on this Gerrit change still works on Node 14 in practice), so projects using Grunt now need to stay on 1.5.3 until we have Node 16 in CI.

Edit: I’ve now told dependabot to ignore Grunt in wikidata-query-gui and WikibaseQualityConstraints, so we should make sure to update Grunt there manually once it’s unblocked, and then reopen this pull request and that one to tell dependabot to start tracking Grunt again.

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

[integration/config@master] jjb: Provide node16 versions of non-generic jobs

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

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

[integration/config@master] Zuul: Make mwgate-node16-docker jobs run in series

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

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

[integration/config@master] Zuul: Migrate all non-MediaWiki-land node jobs to node16

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

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

[integration/config@master] Zuul: Migrate all MediaWiki-land node jobs to node16

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

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

[integration/config@master] jjb: [oojs-ui-doxygen-publish] Switch to node16

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

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

[integration/config@master] Zuul: Migrate further MediaWiki-adjunct node code testing from 14 to 16

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

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

[integration/config@master] jjb: Provide branchdeploy-wikidata-query-builder-node16-npm-docker

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

Change 890932 merged by jenkins-bot:

[integration/config@master] jjb: Provide node16 versions of non-generic jobs

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

Change 890935 merged by jenkins-bot:

[integration/config@master] Zuul: Make mwgate-node16-docker jobs run in series

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

Change 890938 merged by jenkins-bot:

[integration/config@master] jjb: [oojs-ui-doxygen-publish] Switch to node16

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

Change 890943 merged by jenkins-bot:

[integration/config@master] jjb: Provide branchdeploy-wikidata-query-builder-node16-npm-docker

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

Change 890936 merged by jenkins-bot:

[integration/config@master] Zuul: Migrate all non-MediaWiki-land node jobs to node16

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

Mentioned in SAL (#wikimedia-releng) [2023-02-22T02:43:48Z] <James_F> Zuul: Migrate all non-MediaWiki-land node jobs to node16 for T314470

Change 890937 merged by jenkins-bot:

[integration/config@master] Zuul: Migrate all MediaWiki-land node jobs to node16

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

Mentioned in SAL (#wikimedia-releng) [2023-02-22T02:45:43Z] <James_F> Zuul: Migrate all MediaWiki-land node jobs to node16 for T314470

Change 890939 merged by jenkins-bot:

[integration/config@master] Zuul: Migrate further MediaWiki-adjunct node code testing from 14 to 16

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

Mentioned in SAL (#wikimedia-releng) [2023-02-22T02:48:04Z] <James_F> Zuul: Migrate further MediaWiki-adjunct node code testing from 14 to 16 for T314470

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

[integration/config@master] jjb: Drop node14 jobs

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

Change 890942 merged by jenkins-bot:

[integration/config@master] jjb: Drop node14 jobs

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

@Jdforrester-WMF Should we update npm to version 8 in the node 16 jobs? I see this warning from rollup in https://integration.wikimedia.org/ci/job/mwext-node16-rundoc-docker/10/console:

09:11:21 npm WARN EBADENGINE Unsupported engine {
09:11:21 npm WARN EBADENGINE   package: 'rollup@3.17.2',
09:11:21 npm WARN EBADENGINE   required: { node: '>=14.18.0', npm: '>=8.0.0' },
09:11:21 npm WARN EBADENGINE   current: { node: 'v16.16.0', npm: '7.21.0' }
09:11:21 npm WARN EBADENGINE }

@Jdforrester-WMF Should we update npm to version 8 in the node 16 jobs? I see this warning from rollup in https://integration.wikimedia.org/ci/job/mwext-node16-rundoc-docker/10/console:

09:11:21 npm WARN EBADENGINE Unsupported engine {
09:11:21 npm WARN EBADENGINE   package: 'rollup@3.17.2',
09:11:21 npm WARN EBADENGINE   required: { node: '>=14.18.0', npm: '>=8.0.0' },
09:11:21 npm WARN EBADENGINE   current: { node: 'v16.16.0', npm: '7.21.0' }
09:11:21 npm WARN EBADENGINE }

That's a different piece of work; we originally had planned to do this as part of the switch to node16, but had to abandon it due to odd packaging upstream, IIRC. Will have a poke, but let's consider that out of scope for this.

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

[integration/config@master] jjb: Switch quibble jobs to images with node16

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

Change 891723 merged by jenkins-bot:

[integration/config@master] jjb: Switch quibble jobs to images with node16

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

Change 893679 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[fresh@master] Prepare 21.11.2 release

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

Change 893679 merged by jenkins-bot:

[fresh@master] Prepare 21.11.2 release

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

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

[integration/config@master] dockerfiles: [quibble] Switch from node14 to node16

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

Change 894125 merged by jenkins-bot:

[integration/config@master] dockerfiles: [quibble] Switch from node14 to node16

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

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

[integration/config@master] dockerfiles: [node16,quibble] Switch npm from pinned 7.21.0 to upstream 8.19.3+

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

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

[integration/config@master] jjb: Switch quibble images from node14 to node16

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

Change 891649 merged by jenkins-bot:

[integration/config@master] dockerfiles: [node16,quibble] Switch npm from pinned 7.21.0 to upstream 8.19.3+

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

Change 946960 merged by jenkins-bot:

[integration/config@master] jjb: Switch quibble images from node14 to node16

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

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

[integration/config@master] jjb: Update node jobs to node16 images with npm 8.x not 7.x

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

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

[integration/config@master] jjb: Update quibble jobs to node16 images with npm 8.x not 7.x

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

Change 954331 merged by jenkins-bot:

[integration/config@master] jjb: Update node jobs to node16 images with npm 8.x not 7.x

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

Change 954332 merged by jenkins-bot:

[integration/config@master] jjb: Update quibble jobs to node16 images with npm 8.x not 7.x

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

I looked into this again, and as far as I can tell, all the WMDE repos should no longer be blocking work on this task:

  • T300808 - the WDQS GUI's one test seems to already be async and works fine with Node16
  • T293081 - the WikibaseLexeme browser tests are disabled and are awaiting a decision on how to move forward (T346260, hopefully soon™)
  • T293080 - the data bridge browser tests in Wikibase are disabled and are awaiting the respective team to hire some devs

That leaves T337463: Refactor wdio-mediawiki from sync to async mode, I'm not sure what the status there is.