Closed (fixed)
Project:
Drupal core
Version:
11.x-dev
Component:
other
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
10 Jan 2026 at 21:27 UTC
Updated:
9 Mar 2026 at 11:10 UTC
Jump to comment: Most recent
Followup to #3566429: Update to 10.6.0 fails due to nodejs version incompatibility
An update to 10.3.0 failed because the dependency 'qified' required by 'stylelint' expects 'Node >= 20' but Drupal 10 specifies Node 18.
"engines": {
"yarn": ">= 1.6",
"node": ">= 18.0"
},
This issue is to find a way to prevent this type of upgrade failure.
Add a GitLab CI job that runs yarn install on the minimum supported version of Node.js, and ensure it fails correctly if the installation fails.
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
andypostComment #3
andypostI think we should decouple nodejs out of PHP images so each core major can use required version.
Moreover node releases are not aligned with PHP releases and core maintenance cycle, so probably we need new policy for it
Comment #4
andypostWe can bundle more then one nodejs version too but only PHP 8.4/8.5 will get monthly updates and building 8.3 and earlier could be a trick
Moreover it will require to watch for security releases of node and rebuild all images will be seriously longer.
PS: NVM is a good workaround but will abuse CI downloading ~30MB of node for each run, so all pipelines will become dependent on nodejs infra
Comment #5
longwaveTo solve the actual problem we found all we need is a CI job that runs on
node:18and runsyarn install. If the job fails then the packages are incompatible with that version. We could do this as a stopgap for every change to package.json/yarn.lock which would at least prevent this from happening again. This is not the same as actually running the build on the older version, but I am not sure that matters as much?Comment #6
longwaveRetitling with the suggested approach.
Comment #8
longwaveComment #9
smustgrave commentedonly question should the current jobs that use yarn, like estlint, be dependent on this new job?
Comment #10
longwaveNo, this is just a safety net to stop us committing an update that will break on the minimum supported version of Node - it shouldn't affect any of the existing JS related jobs, as (for now) it doesn't seem to matter if they run on a newer version.
Comment #11
smustgrave commentedFair enough.
Comment #13
catchCommitted/pushed to main and 11.x, thanks!
Comment #16
longwaveDoesn't look like this made it.
Comment #19
catchSorry pushed again.