Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | Jdforrester-WMF | T284345 Upgrade all CI jobs for WMF-deployed projects from Node 10 to Node 12 | |||
Resolved | Jdforrester-WMF | T284343 Create WMF CI image for Node.js 12 | |||
Resolved | hashar | T285239 wikimedia/portals/deploy webdriver.io has to be updated in order to support NodeJS 12 |
Event Timeline
Change 698244 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] jjb: Provide node12 versions of existing node10 jobs
Change 698245 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] Zuul: [VisualEditor/VisualEditor] Switch node10 jobs to node12
Change 698246 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] Zuul: Migrate all node10 jobs to node12 in bulk
Change 698247 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] jjb: Drop unused node10 jobs
Change 698248 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] jjb: Switch special jobs from node10 to node12 images
Change 698244 merged by jenkins-bot:
[integration/config@master] jjb: Provide node12 versions of existing node10 jobs
Change 698245 merged by jenkins-bot:
[integration/config@master] Zuul: [VisualEditor/VisualEditor] Switch node10 jobs to node12
Mentioned in SAL (#wikimedia-releng) [2021-06-04T20:11:44Z] <James_F> Zuul: [VisualEditor/VisualEditor] Switch node10 jobs to node12 T284345
Change 698246 merged by jenkins-bot:
[integration/config@master] Zuul: Migrate all node10 jobs to node12 in bulk
Mentioned in SAL (#wikimedia-releng) [2021-06-04T20:13:55Z] <James_F> Zuul: Switch almost all node10 jobs to node12 T284345
Change 698252 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/extensions/MobileFrontend@master] .nvmrc: Update to node 12.21.0 as CI has upgraded
Change 698247 merged by jenkins-bot:
[integration/config@master] jjb: Drop unused node10 jobs
Change 698255 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/extensions/Popups@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698248 merged by jenkins-bot:
[integration/config@master] jjb: Switch special jobs from node10 to node12 images
Change 698257 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] [WIP] dockerfiles: Provide node12-*php*-composer images
Change 698258 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] [WIP] dockerfiles: Provide a node12-based Kartotherian image
OK, this is mostly done except for two sets of jobs:
- Jobs using the special Kartotherian image.
- Jobs using the special PHP + Node images.
Both of those need some further work.
Change 698259 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/skins/MinervaNeue@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698260 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/skins/Vector@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698261 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/extensions/Wikibase@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698262 had a related patch set uploaded (by Jforrester; author: Jforrester):
[wikibase/vuejs-components@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Announced on wikitech-l in case it breaks anything: https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZOMZ376CCVD7HNTL2XYA5ASCABUS4DG5/
Change 698252 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] .nvmrc: Update to node 12.21.0 as CI has upgraded
Change 698260 merged by jenkins-bot:
[mediawiki/skins/Vector@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698259 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Change 698255 merged by jenkins-bot:
[mediawiki/extensions/Popups@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
While playing with this locally I realized that, npm v7 uses a new lockfile version and whenever I run npm to install the packages it also updates the v1 lockfile to v2 adding a lot of diff overhead. - So I wonder if it might be useful ( when ever we are sure to stick with this version ) to run Libraryupgrader and mass adjust the repos.
Obviously they haven't been migrated yet.
This task has been opened late last Friday and is open. You can check the progress by looking at changes that have been attached to the task (press the Show related patches button below the task description). Or check https://gerrit.wikimedia.org/r/q/bug:T284345 :]
Yeah, this task and announcement is about the JS jobs, not the quibble jobs.
Migrating the latter will be difficult. Quibble jobs currently run on buster, to be as close as possible to a production environment. SRE have vetoed backporting node 12+ to buster properly, so we'd have to either have to over-ride in CI and load a different version of node from what SRE provide, or switch the quibble selenium jobs over to bullseye. I slightly prefer the latter, but it'll be a chore.
Change 698258 abandoned by Jforrester:
[integration/config@master] [WIP] dockerfiles: Provide a node12-based Kartotherian image
Reason:
Dropping instead, in I621dc416be773285c315a143f830ce8d6fb2a85c.
We've had some issues with npm 7, namely that sometimes it randomly replaces an https link to a repo with SSH. This breaks libraryupgrader, so for the time being we're asking people to downgrade to 6, as the bug is still open: https://github.com/npm/cli/issues/2610
(Example where my npm 7 package-lock file broke things!) https://gerrit.wikimedia.org/r/c/mediawiki/services/citoid/+/674644/2#message-167c788635c5b18ac245a155c3bbba5e3a5a5a44
Hi, I think this broke CI for packages that use node-rdkafka, e.g. node-rdkakfa-factory, eventgate, etc.
Upgrading node-rdkafka may be error prone and take a lot of manual work to ensure that things don't break (we have to upgrade librdkafka too). Is there a reason we have to upgrade to node12 in CI, when the production services aren't using node 12?
https://integration.wikimedia.org/ci/job/generic-node12-docker/39/console
The eventgate, etc. CI still works, because they use service-pipeline, which has control over the docker images and versions that are used for both CI and prod. Should I switch these node-rdkafka-* library packages to using service-pipeline for CI too?
Sorry about that. :-(
Upgrading node-rdkafka may be error prone and take a lot of manual work to ensure that things don't break (we have to upgrade librdkafka too). Is there a reason we have to upgrade to node12 in CI, when the production services aren't using node 12?
https://integration.wikimedia.org/ci/job/generic-node12-docker/39/console
Node10 left security support at the end of April.
The eventgate, etc. CI still works, because they use service-pipeline, which has control over the docker images and versions that are used for both CI and prod. Should I switch these node-rdkafka-* library packages to using service-pipeline for CI too?
Yes, as those are intended for running in production then using the pipeline would be a better fit. The legacy CI jobs are meant for development testing code, not production, really.
Happy to help migrate if needed.
Change 699431 had a related patch set uploaded (by Hashar; author: Hashar):
[integration/config@master] Restore generic-node10-docker
Change 699431 merged by jenkins-bot:
[integration/config@master] Restore generic-node10-docker
Change 699435 had a related patch set uploaded (by Ottomata; author: Ottomata):
[integration/config@master] Use service-pipeline-test for node-rdkafka-factory
Change 699435 merged by jenkins-bot:
[integration/config@master] Zuul: [node-rdkafka-factory] Switch to service-pipeline-test
Mentioned in SAL (#wikimedia-releng) [2021-06-11T15:25:30Z] <James_F> Zuul: [node-rdkafka-factory] Switch to service-pipeline-test T284345
Change 699437 had a related patch set uploaded (by Jforrester; author: Jforrester):
[integration/config@master] Zuul: [node-rdkafka-statsd] Switch to service-pipeline-test
Change 699443 had a related patch set uploaded (by Ottomata; author: Ottomata):
[node-rdkafka-statsd@master] Add .pipeline for CI tests
Change 699437 merged by jenkins-bot:
[integration/config@master] Zuul: [node-rdkafka-statsd] Switch to service-pipeline-test
Mentioned in SAL (#wikimedia-releng) [2021-06-11T15:50:31Z] <James_F> Zuul: [node-rdkafka-statsd] Switch to service-pipeline-test T284345
Change 699443 merged by Ottomata:
[node-rdkafka-statsd@master] Add .pipeline for CI tests
Change 700654 had a related patch set uploaded (by Hashar; author: Hashar):
[integration/config@master] Restore generic-node10-browser-docker
Change 700654 merged by jenkins-bot:
[integration/config@master] Restore generic-node10-browser-docker
This was completed in June (except for repos using the pipeline, which rely on SRE's images; see T284346).
Change 698257 abandoned by Jforrester:
[integration/config@master] [WIP] dockerfiles: Provide node12-*php*-composer images
Reason:
Done in 242dc1456a5f08a10d149a7e21cb5179f3208930.
Change 698261 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Update to Node 12.21.0 as CI has migrated
Change 698262 abandoned by Jforrester:
[wikibase/vuejs-components@master] .nvmrc: Update to Node 12.21.0 as CI has migrated
Reason: