Skip to content

build: update minimum version of nodejs and yarn#41662

Open
phil-davis wants to merge 1 commit into
masterfrom
bump-node-yarn-min-versions
Open

build: update minimum version of nodejs and yarn#41662
phil-davis wants to merge 1 commit into
masterfrom
bump-node-yarn-min-versions

Conversation

@phil-davis

@phil-davis phil-davis commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

We can no longer build with nodejs v14. node-release, one of the dependencies, requires at least nodejs v18.

nodejs v22 is the oldest release series that is still supported, so it would be nice to require that as a minimum.
But the GitHub workflow runner seems to have nodejs 18 already installed, so allow that.

yarn v1 still has version 1.22.x that works with all current nodejs releases. So require that as a minimum.

Trying to build with nodejs v14 gives:

error node-releases@2.0.47: The engine "node" is incompatible with this module. Expected version ">=18". Got "14.21.3"
error Found incompatible module.

@phil-davis

Copy link
Copy Markdown
Contributor Author

Note: a similar update will be required in https://github.com/owncloud-ci/core/blob/master/php83/Dockerfile.amd64

That is also explicitly using nodejs 14, and it does not work.

@phil-davis

Copy link
Copy Markdown
Contributor Author

https://github.com/owncloud/core/actions/runs/28437248244/job/84266066572?pr=41662

yarn install v1.22.22
[1/5] Validating package.json...
error owncloud-js-dev@0.0.1: The engine "node" is incompatible with this module. Expected version ">= 22.23.0". Got "18.20.8"
error Found incompatible module.

The GitHub workflow runner seems to have "node" 18. I will adjust the requirement in this PR to 18.

@phil-davis phil-davis force-pushed the bump-node-yarn-min-versions branch from a053f38 to 2b0e89b Compare June 30, 2026 10:22
We can no longer build with nodejs v14. node-release, one of
the dependencies, requires at least nodejs v18.

nodejs v22 is the oldest release series that us still supported,
but GitHub runners seem to have nodejs 18. So allow nodejs 18
or higher.

yarn v1 still has version 1.22.x that works with all current
nodejs releases. So require that as a minimum.
@phil-davis phil-davis force-pushed the bump-node-yarn-min-versions branch from 2b0e89b to 369ea84 Compare June 30, 2026 10:25

@DeepDiver1975 DeepDiver1975 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid, minimal change — verdict: approve the version bump, but add a changelog fragment before merge.

Diff scope / consistency — only build/package.json engines: node >= 14.17.0>= 18.20.0, yarn >= 1.0.0>= 1.22.0. Verified there's no other place pinning these (no root package.json engines, no .nvmrc); the only CI node pin is js-unit.yml node-version: '18', consistent with the new >= 18.20.0 floor. No spot left at the old version. The node-releases >= 18 rationale is correct.

Changelog — missing. core uses changelog/unreleased/ calens fragments and applies them to build/dependency changes (e.g. PHPdependencies...). The green "Changelog lint" check only validates that existing fragments parse — it does not run per-PR enforcement (it's push-to-master only), so it doesn't substitute for one. Please add changelog/unreleased/41662, e.g.:

Change: Raise minimum Node.js and Yarn versions

The minimum required Node.js is now 18.20.0 and Yarn 1.22.0. node-releases,
a build dependency, requires Node.js >= 18.

https://github.com/owncloud/core/pull/41662

CI / mergeablemergeable: MERGEABLE, no conflicts. mergeStateStatus: BLOCKED because required Acceptance / CLI Smoke checks are still pending; JS Unit, PHP Unit, code style, CodeQL all green. Hold for the pending checks.

🤖 Generated with Claude Code

@phil-davis

Copy link
Copy Markdown
Contributor Author

IMO this is "just" a change in /build, and we don't usually write changelogs for those.

The versions of nodejs and yaml should just be required at build time. Production systems using published tarballs or docker images should not need to worry about that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants