Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
aa4b784
chore: Update boxednode to 3.0.0, so we can support Node.js 24
kmruiz Nov 18, 2025
5d163f1
chore: Update to latest node-gyp. It should work with Node.js>=20
kmruiz Nov 18, 2025
ae98082
chore: Add a Node.js 24 variant to evergreen runs
kmruiz Nov 18, 2025
5a6f9dc
chore: We should be using the npm version provided by Node.js
kmruiz Nov 18, 2025
3d462b8
chore: Use --jitless while we have the bugged 24.10 version of Node
kmruiz Nov 19, 2025
f08f6e5
chore: In Node.js 22 and Node.js 24 __dirname does not exist
kmruiz Nov 20, 2025
c01560c
chore: Update dependencies and update minimum Node.js version
kmruiz Nov 20, 2025
91d3cc0
chore: Use process.cwd() instead of __dirname or import.meta
kmruiz Nov 20, 2025
84ed9dd
chore: Path was somehow wrong, and it triggered using ESM
kmruiz Nov 20, 2025
9d4bed1
chore: Overwriting __dirname just breaks Node 20.
kmruiz Nov 20, 2025
8e36ffd
chore: use --no-experimental-strip-types in 24.11.1
kmruiz Nov 20, 2025
d2443c5
chore: Remove unused config (was not wired yet)
kmruiz Nov 20, 2025
e182a1c
chore: Rollback changes on .evergreen-nightly-driver
kmruiz Nov 24, 2025
f0708ff
chore: Fixes from PR comments
kmruiz Nov 24, 2025
723303f
chore: Remove the --jitless flag on v24
kmruiz Nov 24, 2025
2d1307f
chore: Make Node.js 24 variants optional, so they don't block releases
kmruiz Nov 24, 2025
974ba73
chore: Update evergreen config so Node.js 24 is finally optional
kmruiz Nov 24, 2025
f90c5ec
Merge branch 'main' into chore/MONGOSH-2995-2
kmruiz Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7,979 changes: 6,875 additions & 1,104 deletions .evergreen.yml

Large diffs are not rendered by default.

12 changes: 1 addition & 11 deletions .evergreen/InstallNode.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,4 @@ Write-Output "$filename downloaded"
Write-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

Expand-Archive $node_zip -DestinationPath $PSScriptRoot
Get-ChildItem -Path $PSScriptRoot

Set-Location -Path $node_dir
Remove-Item .\npm
Remove-Item .\npm.cmd
if (Test-Path .\npm.ps1) { Remove-Item .\npm.ps1 }
Remove-Item .\npx
Remove-Item .\npx.cmd
if (Test-Path .\npx.ps1) { Remove-Item .\npx.ps1 }
Move-Item .\node_modules\npm -Destination .\node_modules\npm2
.\node.exe .\node_modules\npm2\bin\npm-cli.js i -g npm@6
Get-ChildItem -Path $PSScriptRoot
3 changes: 3 additions & 0 deletions .evergreen/build-variants/unit-tests-build-variants.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ for (const {
shortName: nShort,
versionSpec: nVersion,
skipNodeVersionCheck,
optional,
} of NODE_VERSIONS) {
for (const platform of PLATFORMS) {
const platformDetails = platformToDetails[platform];
Expand All @@ -27,6 +28,7 @@ for (const {
nShort,
nVersion,
skipNodeVersionCheck,
disable: optional === true,
});
for (const {
shortName: mShort,
Expand Down Expand Up @@ -64,6 +66,7 @@ for (const {
mShort,
mVersion,
skipNodeVersionCheck,
disable: optional === true,
});
}
}
Expand Down
10 changes: 10 additions & 0 deletions .evergreen/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ exports.platformToDetails = {
const NODE_JS_VERSION_20 = require('./node-20-latest.json').version;
exports.NODE_JS_VERSION_20 = NODE_JS_VERSION_20;

const NODE_JS_VERSION_24 = require('./node-24-latest.json').version;
exports.NODE_JS_VERSION_24 = NODE_JS_VERSION_24;

exports.MONGODB_VERSIONS = [
{ shortName: '42xc', versionSpec: '4.2.x' },
{ shortName: '42xe', versionSpec: '4.2.x-enterprise' },
Expand All @@ -47,5 +50,12 @@ exports.NODE_VERSIONS = [
shortName: '20',
versionSpec: NODE_JS_VERSION_20,
skipNodeVersionCheck: '',
optional: false,
},
{
shortName: '24',
versionSpec: NODE_JS_VERSION_24,
skipNodeVersionCheck: '',
optional: true,
},
];
1 change: 1 addition & 0 deletions .evergreen/evergreen.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -1560,6 +1560,7 @@ buildvariants:
display_name: "<% out(variant.displayName) %>"
run_on: <% out(variant.runOn) %>
tags: <% out(variant.tags) %>
disable: <% out(variant.disable) %>
expansions:
executable_os_id: <% out(variant.executableOsId) %>
mongosh_server_test_version: "<% out(variant.mVersion || '') %>"
Expand Down
8 changes: 1 addition & 7 deletions .evergreen/install-node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,14 @@ set -e
set -x
export BASEDIR="$PWD/.evergreen"

NPM_VERSION=10.8.3 # 10.9.0 does not install well on Windows

if [ "$OS" == "Windows_NT" ]; then
powershell "$(cygpath -w "$BASEDIR")"/InstallNode.ps1
. "$BASEDIR/setup-env.sh"
mkdir -p "$BASEDIR/npm-10" && (cd "$BASEDIR/npm-10" && echo '{}' > package.json && npm i npm@$NPM_VERSION)
# using npm 10 because npm 9.9.3 does not install well on windows

curl -sSfLO https://raw.githubusercontent.com/mongodb-js/compass/42e6142ae08be6fec944b80ff6289e6bcd11badf/.evergreen/node-gyp-bug-workaround.sh && bash node-gyp-bug-workaround.sh
else
if [ `uname` = Darwin ]; then
export NVM_DIR="$BASEDIR/.nvm"
mkdir -p "${NVM_DIR}"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

echo "Setting NVM environment home: $NVM_DIR"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Expand Down
4 changes: 0 additions & 4 deletions .evergreen/node-20-latest.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
"end": "2026-04-30T00:00:00.000Z",
"releaseDate": "2025-09-03T00:00:00.000Z",
"isLts": true,
"isSupported": true,
"isMaintenance": true,
"isSecurity": false,
"modules": "115",
"files": [
"aix-ppc64",
"headers",
Expand Down
40 changes: 40 additions & 0 deletions .evergreen/node-24-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"version": "24.11.1",
"major": 24,
"minor": 11,
"patch": 1,
"tag": "",
"codename": "krypton",
"versionName": "v24",
"start": "2025-05-06T00:00:00.000Z",
"lts": "2025-10-28T00:00:00.000Z",
"maintenance": "2026-10-20T00:00:00.000Z",
"end": "2028-04-30T00:00:00.000Z",
"releaseDate": "2025-11-11T00:00:00.000Z",
"isLts": true,
"files": [
"aix-ppc64",
"headers",
"linux-arm64",
"linux-ppc64le",
"linux-s390x",
"linux-x64",
"osx-arm64-tar",
"osx-x64-pkg",
"osx-x64-tar",
"src",
"win-arm64-7z",
"win-arm64-zip",
"win-x64-7z",
"win-x64-exe",
"win-x64-msi",
"win-x64-zip"
],
"dependencies": {
"npm": "11.6.2",
"v8": "13.6.233.10",
"uv": "1.51.0",
"zlib": "1.3.1",
"openssl": "3.5.4"
}
}
5 changes: 2 additions & 3 deletions .evergreen/setup-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ set -x
OS_ARCH="$(uname "-m")"

export BASEDIR="$PWD/.evergreen"
export PATH="$BASEDIR/npm-10/node_modules/.bin:$BASEDIR/node-v$NODE_JS_VERSION-win-x64:/opt/java/jdk17/bin:$PATH"

export PATH="$BASEDIR/node-v$NODE_JS_VERSION-win-x64:/opt/java/jdk17/bin:$PATH"
export MONGOSH_GLOBAL_CONFIG_FILE_FOR_TESTING="$BASEDIR/../../testing/tests-globalconfig.conf"

export IS_MONGOSH_EVERGREEN_CI=1
Expand Down Expand Up @@ -69,7 +68,7 @@ fi

# On RHEL hosts, we run as root for some reason
if [ `uname` = Linux ]; then
export npm_config_unsafe_perm=true
export npm_config_unsafe_perm=true
fi

# npm@7 changed the behavior to run install scripts for packages
Expand Down
Loading
Loading