Skip to content

Conversation

@kmruiz
Copy link
Contributor

@kmruiz kmruiz commented Nov 24, 2025

No description provided.

Copilot AI review requested due to automatic review settings November 24, 2025 11:13
@kmruiz kmruiz requested a review from a team as a code owner November 24, 2025 11:13
@evergreen-ci-prod
Copy link

There is an existing patch(es) for this commit SHA:

Please note that the status that is posted is not in the context of this PR but rather the (latest) existing patch and that may affect some tests that may depend on the particular PR. If your tests do not rely on any PR-specific values (like base or head branch name) then your tests will report the same status. If you would like a patch to run in the context of this PR and abort the other(s), comment 'evergreen retry'.

@kmruiz kmruiz changed the base branch from main to chore/MONGOSH-2995 November 24, 2025 11:13
Copilot finished reviewing on behalf of kmruiz November 24, 2025 11:14
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds Node.js 24 support to the MongoDB Shell (mongosh) CI infrastructure. The changes enable testing and building mongosh with Node.js 24 by configuring evergreen CI with the appropriate Node.js 24 variants and handling version-specific requirements.

Key changes:

  • Add Node.js 24 configuration and version tracking files for CI
  • Update minimum Node.js version requirements from 12.x/20.x to 20.19.x
  • Handle Node.js 24 experimental features (strip-types flag, jitless mode) with workarounds
  • Update dependency versions (tslib, nx tooling, etc.) and remove obsolete npm version pinning

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
scripts/run-if-package-requested.js Adds Node.js 24 handling to disable experimental strip-types feature
package.json Updates minimum Node.js version to 20.19.3 and adds Node.js 24 version tracking script
package-lock.json Updates minimum Node.js version to 20.19.5, updates tslib to 2.8.1, and updates nx/lerna dependencies
.evergreen/setup-env.sh Adds Node.js 24 jitless mode workaround for Linux and removes npm-10 path reference
.evergreen/node-24-latest.json New configuration file defining Node.js 24.11.1 version details
.evergreen/node-20-latest.json Removes deprecated fields (isSupported, isMaintenance, isSecurity, modules)
.evergreen/install-node.sh Updates nvm version and removes npm version pinning workarounds
.evergreen/constants.js Adds NODE_JS_VERSION_24 constant and configuration
.evergreen/InstallNode.ps1 Removes npm version downgrade workaround for Windows
.evergreen-nightly-driver.yml Removes hardcoded Node.js version override

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Base automatically changed from chore/MONGOSH-2995 to main November 24, 2025 13:13
We are also upgrading the Node.js version we use for the driver
nightly tests to 24.11.1 (latest LTS version at the moment of
this commit)
We will be running all tests in both Node.js 20 and Node.js 24
with the current driver version. The nightly driver run that
happens every day should do the same with the nightly driver
without additional changes.
While older versions of npm had specific issues on Windows, the
latest npm@10 and npm@11 seem to be working fine, as they are
the ones we are using already in boxednode.
For some reason, Node.js 22 and Node.js 24 are more strict on
whether __dirname exists. Because import.meta.dirname always
exist, and must be equal, replace at the beginning of the script.
Update to the minimum Node.js version that we have in the
devtools-toolchain (20.19.3)
While this doesn't have the exact same semantic, it works
identical in all Node.js versions and we have control of
the cwd of the process, so this should be consistent and
work without ESM/CJS trics.
@kmruiz kmruiz force-pushed the chore/MONGOSH-2995-2 branch from eac9799 to f0708ff Compare November 24, 2025 13:15
Evergreen is already working on providing an up-to-date
version of Node.js doesn't contain the JIT compiler
issue. We need JIT for WASM support.
Node.js 24 variants are going to be broken for a while, while we
work on the upgrade. It doesn't make much sense to keep them
running and blocking CI, so we will disable them by default and
only run them when a patch asks for it.
@kmruiz kmruiz force-pushed the chore/MONGOSH-2995-2 branch from ae4d286 to a078764 Compare November 24, 2025 16:44
@kmruiz kmruiz force-pushed the chore/MONGOSH-2995-2 branch from a078764 to 974ba73 Compare November 24, 2025 16:45
@addaleax addaleax changed the title chore(ci): Add all relevant Node.js 24 variants to evergreen for CI MONGOSH-2995 chore(ci): add all relevant Node.js 24 variants to evergreen for CI MONGOSH-2995 Nov 24, 2025
@kmruiz kmruiz merged commit 4292e4a into main Nov 25, 2025
17 of 18 checks passed
@kmruiz kmruiz deleted the chore/MONGOSH-2995-2 branch November 25, 2025 12:03
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.

3 participants