diff --git a/.evergreen/ci_matrix_constants.js b/.evergreen/ci_matrix_constants.js index fc3a344432b..a0f74a2b9f5 100644 --- a/.evergreen/ci_matrix_constants.js +++ b/.evergreen/ci_matrix_constants.js @@ -2,10 +2,10 @@ const MONGODB_VERSIONS = ['latest', 'rapid', '6.0', '5.0', '4.4', '4.2', '4.0', const versions = [ { codeName: 'fermium', versionNumber: 14 }, { codeName: 'gallium', versionNumber: 16 }, - { codeName: 'hydrogen', versionNumber: 18 } + { codeName: 'hydrogen', versionNumber: 18 }, + { codeName: 'iron', versionNumber: 20 } ]; -const NODE_VERSIONS = versions.map(({ codeName }) => codeName); -NODE_VERSIONS.sort(); +const NODE_VERSIONS = versions.map(({ versionNumber }) => versionNumber).sort(); const LOWEST_LTS = NODE_VERSIONS[0]; const LATEST_LTS = NODE_VERSIONS[NODE_VERSIONS.length - 1]; diff --git a/.evergreen/config.in.yml b/.evergreen/config.in.yml index cbe5edcc5e4..856c79a25bf 100644 --- a/.evergreen/config.in.yml +++ b/.evergreen/config.in.yml @@ -487,7 +487,7 @@ functions: working_dir: "src" script: | ${PREPARE_SHELL} - NODE_LTS_NAME=${NODE_LTS_NAME} NPM_OPTIONS=${NPM_OPTIONS}\ + NODE_LTS_VERSION=${NODE_LTS_VERSION} NPM_OPTIONS=${NPM_OPTIONS}\ bash ${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh "install aws-credential-providers": @@ -522,7 +522,7 @@ functions: rm -f ./prepare_atlas_connectivity.sh export PROJECT_DIRECTORY="$(pwd)" - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-atlas-tests.sh @@ -552,7 +552,7 @@ functions: export PYTHON_BINARY=$([ "Windows_NT" = "$OS" ] && echo "/cygdrive/c/python/python38/python.exe" || echo "/opt/mongodbtoolchain/v3/bin/python3") export PROJECT_DIRECTORY="$(pwd)" export DRIVERS_TOOLS="${DRIVERS_TOOLS}" - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' export MONGODB_URI="${MONGODB_URI}" export TEST_SOCKS5_CSFLE="${TEST_SOCKS5_CSFLE}" export SSL="${SSL}" @@ -575,7 +575,7 @@ functions: export KRB5_NEW_KEYTAB='${gssapi_auth_new_keytab_base64}' export KRB5_PRINCIPAL='${gssapi_auth_principal}' export MONGODB_URI='${gssapi_auth_mongodb_uri}' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-kerberos-tests.sh @@ -587,7 +587,7 @@ functions: script: | export PROJECT_DIRECTORY="$(pwd)" export MONGODB_URI='${plain_auth_mongodb_uri}' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-ldap-tests.sh @@ -599,7 +599,7 @@ functions: script: | export PROJECT_DIRECTORY="$(pwd)" export MONGODB_URI='mongodb://mhuser:pencil@localhost' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-data-lake-tests.sh @@ -610,7 +610,7 @@ functions: working_dir: "src" script: | export PROJECT_DIRECTORY="$(pwd)" - export NODE_LTS_NAME=${NODE_LTS_NAME} + export NODE_LTS_VERSION=${NODE_LTS_VERSION} export DRIVERS_TOOLS="${DRIVERS_TOOLS}" export SSL_CA_FILE="${SSL_CA_FILE}" export SSL_KEY_FILE="${SSL_KEY_FILE}" @@ -1107,7 +1107,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: hydrogen + NODE_LTS_VERSION: 18 - func: bootstrap mongo-orchestration vars: VERSION: rapid diff --git a/.evergreen/config.yml b/.evergreen/config.yml index dc8ef7c2f92..ac645c9d3e4 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -436,7 +436,7 @@ functions: working_dir: src script: | ${PREPARE_SHELL} - NODE_LTS_NAME=${NODE_LTS_NAME} NPM_OPTIONS=${NPM_OPTIONS}\ + NODE_LTS_VERSION=${NODE_LTS_VERSION} NPM_OPTIONS=${NPM_OPTIONS}\ bash ${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh install aws-credential-providers: - command: shell.exec @@ -469,7 +469,7 @@ functions: rm -f ./prepare_atlas_connectivity.sh export PROJECT_DIRECTORY="$(pwd)" - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-atlas-tests.sh run socks5 tests: @@ -503,7 +503,7 @@ functions: export DRIVERS_TOOLS="${DRIVERS_TOOLS}" - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' export MONGODB_URI="${MONGODB_URI}" @@ -533,7 +533,7 @@ functions: export KRB5_NEW_KEYTAB='${gssapi_auth_new_keytab_base64}' export KRB5_PRINCIPAL='${gssapi_auth_principal}' export MONGODB_URI='${gssapi_auth_mongodb_uri}' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-kerberos-tests.sh run ldap tests: @@ -544,7 +544,7 @@ functions: script: | export PROJECT_DIRECTORY="$(pwd)" export MONGODB_URI='${plain_auth_mongodb_uri}' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-ldap-tests.sh run data lake tests: @@ -555,7 +555,7 @@ functions: script: | export PROJECT_DIRECTORY="$(pwd)" export MONGODB_URI='mongodb://mhuser:pencil@localhost' - export NODE_LTS_NAME='${NODE_LTS_NAME}' + export NODE_LTS_VERSION='${NODE_LTS_VERSION}' bash ${PROJECT_DIRECTORY}/.evergreen/run-data-lake-tests.sh run tls tests: @@ -565,7 +565,7 @@ functions: working_dir: src script: | export PROJECT_DIRECTORY="$(pwd)" - export NODE_LTS_NAME=${NODE_LTS_NAME} + export NODE_LTS_VERSION=${NODE_LTS_VERSION} export DRIVERS_TOOLS="${DRIVERS_TOOLS}" export SSL_CA_FILE="${SSL_CA_FILE}" export SSL_KEY_FILE="${SSL_KEY_FILE}" @@ -1045,7 +1045,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: hydrogen + NODE_LTS_VERSION: 18 - func: bootstrap mongo-orchestration vars: VERSION: rapid @@ -2485,7 +2485,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: run unit tests - name: run-lint-checks tags: @@ -2493,7 +2493,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: run lint checks - name: check-types-typescript-next tags: @@ -2501,7 +2501,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: check types vars: TS_VERSION: next @@ -2511,7 +2511,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: compile driver vars: TS_VERSION: current @@ -2521,7 +2521,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: check types vars: TS_VERSION: current @@ -2531,7 +2531,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: check types vars: TS_VERSION: 4.1.6 @@ -2550,7 +2550,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: '5.0' @@ -2565,7 +2565,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: '5.0' @@ -2580,7 +2580,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: rapid @@ -2595,7 +2595,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: rapid @@ -2610,7 +2610,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: latest @@ -2625,7 +2625,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 - func: bootstrap mongo-orchestration vars: VERSION: latest @@ -3010,7 +3010,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: browser-repl @@ -3021,7 +3021,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: browser-runtime-electron @@ -3032,7 +3032,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: cli-repl @@ -3043,7 +3043,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: connectivity-tests @@ -3054,7 +3054,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: mongosh @@ -3065,7 +3065,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: node-runtime-worker-thread @@ -3076,7 +3076,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh tests for package vars: mongosh_package: service-provider-server @@ -3086,7 +3086,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: compile mongosh - name: verify-mongosh-scopes tags: @@ -3094,7 +3094,7 @@ tasks: commands: - func: install dependencies vars: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 - func: run mongosh package scope test task_groups: - name: serverless_task_group @@ -3212,7 +3212,7 @@ buildvariants: display_name: rhel8 Node14 run_on: rhel80-large expansions: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 CLIENT_ENCRYPTION: true tasks: - test-latest-server @@ -3262,7 +3262,7 @@ buildvariants: display_name: rhel8 Node16 run_on: rhel80-large expansions: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 CLIENT_ENCRYPTION: true tasks: - test-latest-server @@ -3310,7 +3310,55 @@ buildvariants: display_name: rhel8 Node18 run_on: rhel80-large expansions: - NODE_LTS_NAME: hydrogen + NODE_LTS_VERSION: 18 + CLIENT_ENCRYPTION: true + tasks: + - test-latest-server + - test-latest-replica_set + - test-latest-sharded_cluster + - test-rapid-server + - test-rapid-replica_set + - test-rapid-sharded_cluster + - test-6.0-server + - test-6.0-replica_set + - test-6.0-sharded_cluster + - test-5.0-server + - test-5.0-replica_set + - test-5.0-sharded_cluster + - test-4.4-server + - test-4.4-replica_set + - test-4.4-sharded_cluster + - test-4.2-server + - test-4.2-replica_set + - test-4.2-sharded_cluster + - test-4.0-server + - test-4.0-replica_set + - test-4.0-sharded_cluster + - test-3.6-server + - test-3.6-replica_set + - test-3.6-sharded_cluster + - test-latest-server-v1-api + - test-atlas-connectivity + - test-atlas-data-lake + - test-5.0-load-balanced + - test-6.0-load-balanced + - test-latest-load-balanced + - test-auth-kerberos + - test-auth-ldap + - test-auth-oidc + - test-socks5 + - test-socks5-csfle + - test-socks5-tls + - test-tls-support-latest + - test-tls-support-6.0 + - test-tls-support-5.0 + - test-tls-support-4.4 + - test-tls-support-4.2 + - name: rhel80-large-Node20 + display_name: rhel8 Node20 + run_on: rhel80-large + expansions: + NODE_LTS_VERSION: 20 CLIENT_ENCRYPTION: true tasks: - test-latest-server @@ -3358,7 +3406,7 @@ buildvariants: display_name: rhel8 Node Latest run_on: rhel80-large expansions: - NODE_LTS_NAME: latest + NODE_LTS_VERSION: 20 CLIENT_ENCRYPTION: true tasks: - test-latest-server @@ -3391,8 +3439,10 @@ buildvariants: - test-5.0-load-balanced - test-6.0-load-balanced - test-latest-load-balanced + - test-auth-kerberos - test-auth-ldap - test-auth-oidc + - test-socks5 - test-socks5-csfle - test-socks5-tls - test-tls-support-latest @@ -3404,7 +3454,7 @@ buildvariants: display_name: Windows (VS2019) Node14 run_on: windows-64-vs2019-large expansions: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 tasks: - test-latest-server - test-latest-replica_set @@ -3445,7 +3495,7 @@ buildvariants: display_name: Windows (VS2019) Node16 run_on: windows-64-vs2019-large expansions: - NODE_LTS_NAME: gallium + NODE_LTS_VERSION: 16 tasks: - test-latest-server - test-latest-replica_set @@ -3484,7 +3534,46 @@ buildvariants: display_name: Windows (VS2019) Node18 run_on: windows-64-vs2019-large expansions: - NODE_LTS_NAME: hydrogen + NODE_LTS_VERSION: 18 + tasks: + - test-latest-server + - test-latest-replica_set + - test-latest-sharded_cluster + - test-rapid-server + - test-rapid-replica_set + - test-rapid-sharded_cluster + - test-6.0-server + - test-6.0-replica_set + - test-6.0-sharded_cluster + - test-5.0-server + - test-5.0-replica_set + - test-5.0-sharded_cluster + - test-4.4-server + - test-4.4-replica_set + - test-4.4-sharded_cluster + - test-4.2-server + - test-4.2-replica_set + - test-4.2-sharded_cluster + - test-4.0-server + - test-4.0-replica_set + - test-4.0-sharded_cluster + - test-3.6-server + - test-3.6-replica_set + - test-3.6-sharded_cluster + - test-latest-server-v1-api + - test-atlas-data-lake + - test-socks5 + - test-socks5-tls + - test-tls-support-latest + - test-tls-support-6.0 + - test-tls-support-5.0 + - test-tls-support-4.4 + - test-tls-support-4.2 + - name: windows-64-vs2019-Node20 + display_name: Windows (VS2019) Node20 + run_on: windows-64-vs2019-large + expansions: + NODE_LTS_VERSION: 20 tasks: - test-latest-server - test-latest-replica_set @@ -3520,10 +3609,10 @@ buildvariants: - test-tls-support-4.4 - test-tls-support-4.2 - name: macos-1100 - display_name: MacOS 11 Node18 + display_name: MacOS 11 Node20 run_on: macos-1100 expansions: - NODE_LTS_NAME: hydrogen + NODE_LTS_VERSION: 20 CLIENT_ENCRYPTION: true tasks: - test-rapid-server @@ -3559,7 +3648,7 @@ buildvariants: display_name: MONGODB-AWS Auth test run_on: ubuntu1804-large expansions: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 tasks: - aws-latest-auth-test-run-aws-auth-test-with-regular-aws-credentials - aws-latest-auth-test-run-aws-auth-test-with-assume-role-credentials @@ -3651,7 +3740,7 @@ buildvariants: display_name: Serverless Test run_on: rhel80-large expansions: - NODE_LTS_NAME: fermium + NODE_LTS_VERSION: 14 tasks: - serverless_task_group - name: rhel8-test-gcp-kms diff --git a/.evergreen/generate_evergreen_tasks.js b/.evergreen/generate_evergreen_tasks.js index 41731ae649f..50e429af312 100644 --- a/.evergreen/generate_evergreen_tasks.js +++ b/.evergreen/generate_evergreen_tasks.js @@ -429,15 +429,12 @@ for (const { return !isAWSTask && !isSkippedTaskOnWindows; }); - for (const NODE_LTS_NAME of testedNodeVersions) { - const nodeVersionNumber = versions.find( - ({ codeName }) => codeName === NODE_LTS_NAME - ).versionNumber; - const nodeLtsDisplayName = - nodeVersionNumber === undefined ? `Node Latest` : `Node${nodeVersionNumber}`; - const name = `${osName}-${NODE_LTS_NAME}`; + for (const NODE_LTS_VERSION of testedNodeVersions) { + const nodeLTSCodeName = versions.find(({ versionNumber }) => versionNumber === NODE_LTS_VERSION).codeName; + const nodeLtsDisplayName = `Node${NODE_LTS_VERSION}`; + const name = `${osName}-${NODE_LTS_VERSION >= 20 ? nodeLtsDisplayName : nodeLTSCodeName}`; const display_name = `${osDisplayName} ${nodeLtsDisplayName}`; - const expansions = { NODE_LTS_NAME }; + const expansions = { NODE_LTS_VERSION }; const taskNames = tasks.map(({ name }) => name); if (clientEncryption) { @@ -453,7 +450,7 @@ for (const { name: `${osName}-node-latest`, display_name: `${osDisplayName} Node Latest`, run_on, - expansions: { NODE_LTS_NAME: 'latest' }, + expansions: { NODE_LTS_VERSION: LATEST_LTS }, tasks: tasks.map(({ name }) => name) }; if (clientEncryption) { @@ -466,11 +463,10 @@ for (const { BUILD_VARIANTS.push({ name: 'macos-1100', - display_name: `MacOS 11 Node${versions.find(version => version.codeName === LATEST_LTS).versionNumber - }`, + display_name: `MacOS 11 Node${LATEST_LTS}`, run_on: 'macos-1100', expansions: { - NODE_LTS_NAME: LATEST_LTS, + NODE_LTS_VERSION: LATEST_LTS, CLIENT_ENCRYPTION: true }, tasks: ['test-rapid-server'] @@ -486,7 +482,7 @@ SINGLETON_TASKS.push( { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { func: 'run unit tests' } @@ -499,7 +495,7 @@ SINGLETON_TASKS.push( { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { func: 'run lint checks' } @@ -520,7 +516,7 @@ function* makeTypescriptTasks() { { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { @@ -540,7 +536,7 @@ function* makeTypescriptTasks() { { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { @@ -559,7 +555,7 @@ function* makeTypescriptTasks() { { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { func: 'run typescript next' } @@ -598,7 +594,7 @@ BUILD_VARIANTS.push({ display_name: 'MONGODB-AWS Auth test', run_on: 'ubuntu1804-large', expansions: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS }, tasks: AWS_AUTH_TASKS }); @@ -616,7 +612,7 @@ for (const version of ['5.0', 'rapid', 'latest']) { { func: 'install dependencies', vars: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS } }, { @@ -665,7 +661,7 @@ BUILD_VARIANTS.push({ display_name: 'Serverless Test', run_on: DEFAULT_OS, expansions: { - NODE_LTS_NAME: LOWEST_LTS + NODE_LTS_VERSION: LOWEST_LTS }, tasks: ['serverless_task_group'] }); @@ -706,7 +702,7 @@ BUILD_VARIANTS.push({ for (const variant of BUILD_VARIANTS.filter( variant => variant.expansions && - ['gallium', 'hydrogen', 'latest'].includes(variant.expansions.NODE_LTS_NAME) + [16, 18, 20].includes(variant.expansions.NODE_LTS_VERSION) )) { variant.tasks = variant.tasks.filter( name => !['test-zstd-compression', 'test-snappy-compression'].includes(name) @@ -715,14 +711,14 @@ for (const variant of BUILD_VARIANTS.filter( // TODO(NODE-5021): Drop support for Kerberos 1.x on in 6.0.0 for (const variant of BUILD_VARIANTS.filter( - variant => variant.expansions && ['latest'].includes(variant.expansions.NODE_LTS_NAME) + variant => variant.expansions && ['latest'].includes(variant.expansions.NODE_LTS_VERSION) )) { variant.tasks = variant.tasks.filter(name => !['test-auth-kerberos'].includes(name)); } // TODO(NODE-4897): Debug socks5 tests on node latest for (const variant of BUILD_VARIANTS.filter( - variant => variant.expansions && ['latest'].includes(variant.expansions.NODE_LTS_NAME) + variant => variant.expansions && ['latest'].includes(variant.expansions.NODE_LTS_VERSION) )) { variant.tasks = variant.tasks.filter(name => !['test-socks5'].includes(name)); } diff --git a/.evergreen/generate_mongosh_tasks.js b/.evergreen/generate_mongosh_tasks.js index 6d129058269..6d689ba7064 100644 --- a/.evergreen/generate_mongosh_tasks.js +++ b/.evergreen/generate_mongosh_tasks.js @@ -17,7 +17,7 @@ const mongoshTestTasks = scopes.map(packageName => { { func: 'install dependencies', vars: { - NODE_LTS_NAME: 'gallium' + NODE_LTS_VERSION: 16 } }, { @@ -37,7 +37,7 @@ const compileTask = { { func: 'install dependencies', vars: { - NODE_LTS_NAME: 'gallium' + NODE_LTS_VERSION: 16 } }, { func: 'compile mongosh' } @@ -51,7 +51,7 @@ const scopeVerificationTask = { { func: 'install dependencies', vars: { - NODE_LTS_NAME: 'gallium' + NODE_LTS_VERSION: 16 } }, { func: 'run mongosh package scope test' } diff --git a/.evergreen/install-dependencies.sh b/.evergreen/install-dependencies.sh index 17148dca660..106ee5957e2 100644 --- a/.evergreen/install-dependencies.sh +++ b/.evergreen/install-dependencies.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o errexit # Exit the script with error if any of the commands fail -NODE_LTS_NAME=${NODE_LTS_NAME:-fermium} +NODE_LTS_VERSION=${NODE_LTS_VERSION:-14} NODE_ARTIFACTS_PATH="${PROJECT_DIRECTORY:-$(pwd)}/node-artifacts" if [[ "$OS" = "Windows_NT" ]]; then NODE_ARTIFACTS_PATH=$(cygpath --unix "$NODE_ARTIFACTS_PATH"); fi @@ -28,11 +28,12 @@ curl "${CURL_FLAGS[@]}" "https://nodejs.org/dist/index.tab" --output node_index. while IFS=$'\t' read -r -a row; do node_index_version="${row[0]}" + node_index_major_version=$(echo $node_index_version | sed -E 's/^v([0-9]+).*$/\1/') node_index_date="${row[1]}" node_index_lts="${row[9]}" [[ "$node_index_version" = "version" ]] && continue # skip tsv header - [[ "$NODE_LTS_NAME" = "latest" ]] && break # first line is latest - [[ "$NODE_LTS_NAME" = "$node_index_lts" ]] && break # case insensitive compare + [[ "$NODE_LTS_VERSION" = "latest" ]] && break # first line is latest + [[ "$NODE_LTS_VERSION" = "$node_index_major_version" ]] && break # case insensitive compare done < node_index.tab if [[ "$OS" = "Windows_NT" ]]; then diff --git a/.evergreen/run-kerberos-tests.sh b/.evergreen/run-kerberos-tests.sh index 391feedf774..25dcdf01f4a 100644 --- a/.evergreen/run-kerberos-tests.sh +++ b/.evergreen/run-kerberos-tests.sh @@ -24,8 +24,11 @@ set -o xtrace npm install kerberos@">=2.0.0-beta.0" npm run check:kerberos -npm install kerberos@"^1.1.7" -npm run check:kerberos +if [ "$NODE_LTS_VERSION" != "latest" ] && [ $NODE_LTS_VERSION -lt 20 ]; then + npm install kerberos@"^1.1.7" + npm run check:kerberos +fi + set +o xtrace # destroy ticket diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 531d8e71709..3420f4b515e 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x] + node-version: [20.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }}