Page MenuHomePhabricator

Migrate node-based services in production to node20
Open, Needs TriagePublic

Description

T349118: Migrate node-based services in production to node18 | T393434: Migrate node-based services in production to node22

General migration notes:

  • There is no nodejs20-devel image, as it is no longer needed; references to nodejs18-devel can be replaced with nodejs20-slim as part of the upgrade.

Imperfect search:

  • Content-Transform-Team
    • mediawiki/services/chromium-render
    • mediawiki/services/geoshapes never deployed
    • mediawiki/services/kartotherian
    • mediawiki/services/mobileapps
    • mediawiki/services/push-notifications
    • mediawiki/services/recommendation-api not owned by CTT and the service will be sunset in Q3
    • mediawiki/services/wikifeeds
  • Editing-team
    • mediawiki/services/citoid
    • mediawiki/services/zotero
  • MediaWiki-Engineering
    • mediawiki/services/example-node-api Not a deployable service
    • mediawiki/services/restbase

Details

Related Changes in Gerrit:
Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
Use Node 20 and Wikimedia GitLab package registryrepos/data-engineering/eventgate!4tchinnode20-update-dependenciesmaster
Switch build-docs job to use Node 20 base imagerepos/releng/blubber!86jforresterT364779main
Customize query in GitLab

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Jdforrester-WMF renamed this task from Migrate node-based services in production to node18 to Migrate node-based services in production to node20.May 16 2024, 5:10 PM

Is there a reason why there’s no nodejs20-devel image in the docker registry yet? (We use both both -slim and -devel images in Termbox, so without a node20 version of -devel it’s not clear to me how to migrate T368523.) Is it expected to be added at some point, or should we maybe stick with node18 for development purposes?

(Disclaimer: I only have a vague idea of what these images do and where they come from, so it’s possible this question doesn’t make much sense ^^ but nodejs20-devel was also mentioned in the task description of T362681, at least.)

Or is nodejs20-devel not needed anymore because nodejs20-slim already includes npm?

Or is nodejs20-devel not needed anymore because nodejs20-slim already includes npm?

Indeed.

Thanks, added that to the task description :)

Change #1077005 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/zotero@master] Update Zotero to node 20

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

Change #1077005 merged by jenkins-bot:

[mediawiki/services/zotero@master] Update Zotero to node 20

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

Change #1082237 had a related patch set uploaded (by Mvolz; author: Mvolz):

[operations/deployment-charts@master] Update Zotero to node 20

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

Change #1082237 merged by jenkins-bot:

[operations/deployment-charts@master] Update Zotero to node 20

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

Change #1088264 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/citoid@master] Update to node 20

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

Change #1088264 merged by jenkins-bot:

[mediawiki/services/citoid@master] Update to node 20

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

tchin updated the task description. (Show Details)

mediawiki/services/example-node-api
isn't actually " in production " - it's just a template. I think maybe we can just mark the whole thing as deprecated and stop updating it? In practice no one has been using the template in years.

mediawiki/services/example-node-api
isn't actually " in production " - it's just a template. I think maybe we can just mark the whole thing as deprecated and stop updating it? In practice no one has been using the template in years.

Have created an archive task, then.