diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 13a7fd8..bb96703 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -140,6 +140,7 @@ buildvariants: packager_distro: ubuntu2204 packager_arch: x86_64 NODE_LTS_VERSION: "18" + NPM_VERSION: "10" tasks: - run-tests-ubuntu - run-tests-ubuntu-rtld @@ -185,6 +186,7 @@ buildvariants: packager_distro: ubuntu2204 packager_arch: arm64 NODE_LTS_VERSION: "18" + NPM_VERSION: "10" tasks: - run-tests-ubuntu - run-tests-ubuntu-rtld diff --git a/.evergreen/install-dependencies.sh b/.evergreen/install-dependencies.sh index 0870c94..f05e415 100644 --- a/.evergreen/install-dependencies.sh +++ b/.evergreen/install-dependencies.sh @@ -6,9 +6,15 @@ set -o errexit # Exit the script with error if any of the commands fail ## 'latest' ## a full nodejs version, in the format v..patch export NODE_LTS_VERSION=${NODE_LTS_VERSION:-14} -# npm version can be defined in the environment for cases where we need to install -# a version lower than latest to support EOL Node versions. -export NPM_VERSION=${NPM_VERSION:-latest} +# If NODE_LTS_VERSION is numeric and less than 18, default to 9, if less than 20, default to 10. +# Do not override if it is already set. +if [[ "$NODE_LTS_VERSION" =~ ^[0-9]+$ && "$NODE_LTS_VERSION" -lt 18 ]]; then + export NPM_VERSION=${NPM_VERSION:-9} +elif [[ "$NODE_LTS_VERSION" =~ ^[0-9]+$ && "$NODE_LTS_VERSION" -lt 20 ]]; then + export NPM_VERSION=${NPM_VERSION:-10} +else + export NPM_VERSION=${NPM_VERSION:-latest} +fi echo "Installing Node.js $NODE_LTS_VERSION with npm@$NPM_VERSION"