From 04076fac3c85dc9b2e14b36151186087d46b8eb4 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 14:30:59 +0100 Subject: [PATCH 1/7] Use the new toolchain --- .evergreen/config.yml | 2 +- .evergreen/config/common.yml.erb | 2 +- .evergreen/run-tests-atlas-full.sh | 14 +++++++++++++- .evergreen/run-tests-atlas.sh | 14 +++++++++++++- .evergreen/run-tests-azure.sh | 14 +++++++++++++- .evergreen/run-tests-deployed-lambda.sh | 15 ++++++++++++++- .evergreen/run-tests-ecs.sh | 15 ++++++++++++++- .evergreen/run-tests-gcp.sh | 14 +++++++++++++- .evergreen/run-tests-kerberos-integration.sh | 14 +++++++++++++- .evergreen/run-tests-kerberos-unit.sh | 15 ++++++++++++++- .evergreen/run-tests-serverless.sh | 15 ++++++++++++++- .evergreen/run-tests.sh | 14 +++++++++++++- spec/shared | 2 +- 13 files changed, 137 insertions(+), 13 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 338139f77b..a7994152a5 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -341,7 +341,7 @@ functions: "upload test results": - command: attach.xunit_results params: - file: ./src/rspec.xml + file: ./src/tmp/*.xml "delete private environment": - command: shell.exec diff --git a/.evergreen/config/common.yml.erb b/.evergreen/config/common.yml.erb index 85fddd3dd0..2f79470a99 100644 --- a/.evergreen/config/common.yml.erb +++ b/.evergreen/config/common.yml.erb @@ -338,7 +338,7 @@ functions: "upload test results": - command: attach.xunit_results params: - file: ./src/rspec.xml + file: ./src/tmp/*.xml "delete private environment": - command: shell.exec diff --git a/.evergreen/run-tests-atlas-full.sh b/.evergreen/run-tests-atlas-full.sh index c292d73c82..419a8b33f1 100755 --- a/.evergreen/run-tests-atlas-full.sh +++ b/.evergreen/run-tests-atlas-full.sh @@ -8,7 +8,19 @@ set -ex set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java bundle_install diff --git a/.evergreen/run-tests-atlas.sh b/.evergreen/run-tests-atlas.sh index 9f6e55d23d..9ab1b3b431 100755 --- a/.evergreen/run-tests-atlas.sh +++ b/.evergreen/run-tests-atlas.sh @@ -8,7 +8,19 @@ set -ex set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java bundle_install diff --git a/.evergreen/run-tests-azure.sh b/.evergreen/run-tests-azure.sh index 93d522f155..18cd5f3824 100755 --- a/.evergreen/run-tests-azure.sh +++ b/.evergreen/run-tests-azure.sh @@ -8,7 +8,19 @@ set -ex set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java sudo apt-get -y install libyaml-dev cmake diff --git a/.evergreen/run-tests-deployed-lambda.sh b/.evergreen/run-tests-deployed-lambda.sh index 7e2a2f4832..8a700e8eab 100755 --- a/.evergreen/run-tests-deployed-lambda.sh +++ b/.evergreen/run-tests-deployed-lambda.sh @@ -8,7 +8,20 @@ set -ex set_env_vars set_env_python -set_env_ruby + + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java export MONGODB_URI=${MONGODB_URI} export CLUSTER_PREFIX="ruby-driver-" diff --git a/.evergreen/run-tests-ecs.sh b/.evergreen/run-tests-ecs.sh index ec93c3f36b..adea6939a7 100755 --- a/.evergreen/run-tests-ecs.sh +++ b/.evergreen/run-tests-ecs.sh @@ -17,7 +17,20 @@ show_local_instructions set_home set_env_vars set_env_python -set_env_ruby + + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java bundle install --quiet diff --git a/.evergreen/run-tests-gcp.sh b/.evergreen/run-tests-gcp.sh index baccf6404b..e8990dc375 100755 --- a/.evergreen/run-tests-gcp.sh +++ b/.evergreen/run-tests-gcp.sh @@ -9,7 +9,19 @@ set -ex set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java sudo apt-get -y install libyaml-dev cmake diff --git a/.evergreen/run-tests-kerberos-integration.sh b/.evergreen/run-tests-kerberos-integration.sh index b56e22ec1a..30106c598f 100755 --- a/.evergreen/run-tests-kerberos-integration.sh +++ b/.evergreen/run-tests-kerberos-integration.sh @@ -19,7 +19,19 @@ show_local_instructions set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java # Note that: # diff --git a/.evergreen/run-tests-kerberos-unit.sh b/.evergreen/run-tests-kerberos-unit.sh index a9a7f77c58..8da371d840 100755 --- a/.evergreen/run-tests-kerberos-unit.sh +++ b/.evergreen/run-tests-kerberos-unit.sh @@ -16,8 +16,21 @@ show_local_instructions set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 + +export JAVACMD=$JAVA_HOME/bin/java export BUNDLE_GEMFILE=gemfiles/mongo_kerberos.gemfile bundle_install diff --git a/.evergreen/run-tests-serverless.sh b/.evergreen/run-tests-serverless.sh index e2447ba008..0459623a4b 100755 --- a/.evergreen/run-tests-serverless.sh +++ b/.evergreen/run-tests-serverless.sh @@ -8,7 +8,20 @@ set -ex set_env_vars set_env_python -set_env_ruby + + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java source ${DRIVERS_TOOLS}/.evergreen/serverless/secrets-export.sh diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 6dfa54c343..bcc0a4981a 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -43,7 +43,19 @@ show_local_instructions set_home set_env_vars set_env_python -set_env_ruby + +# Install rbenv and download the requested ruby version +rm -rf ~/.rbenv +git clone https://github.com/rbenv/rbenv.git ~/.rbenv +rm -rf ~/.rbenv/versions/ +curl --retry 3 -fL http://boxes.10gen.com/build/toolchain-drivers/mongo-ruby-toolchain/library/`host_distro`/$RVM_RUBY.tar.xz |tar -xC $HOME/.rbenv/ -Jf - +export PATH="$HOME/.rbenv/bin:$PATH" +eval "$(rbenv init - bash)" +export FULL_RUBY_VERSION=$(ls ~/.rbenv/versions | head -n1) +rbenv global $FULL_RUBY_VERSION + +export JAVA_HOME=/opt/java/jdk21 +export JAVACMD=$JAVA_HOME/bin/java prepare_server diff --git a/spec/shared b/spec/shared index 1017c94e4b..702f23f98b 160000 --- a/spec/shared +++ b/spec/shared @@ -1 +1 @@ -Subproject commit 1017c94e4b0962d3b68eced52566e700ae4e70b4 +Subproject commit 702f23f98b4be12fae3cf4d235a27a7985272251 From 6475236737f23593394e1c52b1f5e4c67385b76c Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 14:44:56 +0100 Subject: [PATCH 2/7] Add gem --- gemfiles/standard.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/gemfiles/standard.rb b/gemfiles/standard.rb index c8065b3a1b..f292aa23b3 100644 --- a/gemfiles/standard.rb +++ b/gemfiles/standard.rb @@ -54,6 +54,7 @@ def standard_dependencies gem 'concurrent-ruby', platforms: :jruby gem 'dotenv' gem 'childprocess' + gem 'rspec_junit_formatter' end group :development do From a95f4a3824374d18d9fbdb638c3aadf0b32381e6 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 15:08:18 +0100 Subject: [PATCH 3/7] Remove 1804 --- .evergreen/config.yml | 15 ++++++--------- .evergreen/config/axes.yml.erb | 3 --- .evergreen/config/common.yml.erb | 2 +- .evergreen/config/standard.yml.erb | 10 +++++----- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index a7994152a5..5fd78382de 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -430,7 +430,7 @@ post: # Removed, causing timeouts # - func: "upload working dir" - func: "upload mo artifacts" - # - func: "upload test results" + - func: "upload test results" - func: "upload test results to s3" task_groups: @@ -955,9 +955,6 @@ axes: - id: ubuntu2004 display_name: "Ubuntu 20.04" run_on: ubuntu2004-small - - id: ubuntu1804 - display_name: "Ubuntu 18.04" - run_on: ubuntu1804-small - id: docker-distro display_name: Docker Distro @@ -1211,7 +1208,7 @@ buildvariants: ruby: ["ruby-3.3", "ruby-3.2", "jruby-9.4"] mongodb-version: ['5.0'] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -1221,7 +1218,7 @@ buildvariants: ruby: ["ruby-3.0", "ruby-2.7"] mongodb-version: ['4.4', '4.2', '4.0'] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -1231,7 +1228,7 @@ buildvariants: ruby: "ruby-2.7" mongodb-version: ['3.6'] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -1307,7 +1304,7 @@ buildvariants: mongodb-version: ['3.6', '4.0'] topology: ["standalone", "replica-set", "sharded-cluster"] storage-engine: mmapv1 - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} mmapv1 ${ruby}" tasks: - name: "test-mlaunch" @@ -1351,7 +1348,7 @@ buildvariants: ruby: "ruby-2.7" mongodb-version: ['4.2', '4.0', '3.6'] topology: replica-set - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} stress ${ruby}" tasks: - name: "test-mlaunch" diff --git a/.evergreen/config/axes.yml.erb b/.evergreen/config/axes.yml.erb index 44e018f5de..23457c9e8a 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -207,9 +207,6 @@ axes: - id: ubuntu2004 display_name: "Ubuntu 20.04" run_on: ubuntu2004-small - - id: ubuntu1804 - display_name: "Ubuntu 18.04" - run_on: ubuntu1804-small - id: docker-distro display_name: Docker Distro diff --git a/.evergreen/config/common.yml.erb b/.evergreen/config/common.yml.erb index 2f79470a99..1b82dff403 100644 --- a/.evergreen/config/common.yml.erb +++ b/.evergreen/config/common.yml.erb @@ -427,7 +427,7 @@ post: # Removed, causing timeouts # - func: "upload working dir" - func: "upload mo artifacts" - # - func: "upload test results" + - func: "upload test results" - func: "upload test results to s3" task_groups: diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index d3eedb889d..3b449ba748 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -88,7 +88,7 @@ buildvariants: ruby: <%= recent_rubies %> mongodb-version: ['5.0'] topology: <%= topologies %> - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -98,7 +98,7 @@ buildvariants: ruby: <%= older_rubies %> mongodb-version: ['4.4', '4.2', '4.0'] topology: <%= topologies %> - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -108,7 +108,7 @@ buildvariants: ruby: <%= supported_mri_ruby_2 %> mongodb-version: ['3.6'] topology: <%= topologies %> - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -184,7 +184,7 @@ buildvariants: mongodb-version: ['3.6', '4.0'] topology: <%= topologies %> storage-engine: mmapv1 - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} mmapv1 ${ruby}" tasks: - name: "test-mlaunch" @@ -228,7 +228,7 @@ buildvariants: ruby: <%= supported_mri_ruby_2 %> mongodb-version: ['4.2', '4.0', '3.6'] topology: replica-set - os: ubuntu1804 + os: ubuntu2004 display_name: "${mongodb-version} ${topology} stress ${ruby}" tasks: - name: "test-mlaunch" From fea5824396eb2408420751dd7b3a6d170622bcde Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 16:38:41 +0100 Subject: [PATCH 4/7] Update variants --- .evergreen/config.yml | 11 +++-------- .evergreen/config/axes.yml.erb | 7 +------ .evergreen/config/standard.yml.erb | 14 +++++--------- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 5fd78382de..5aef4369b7 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -761,11 +761,6 @@ axes: - id: "mongodb-version" display_name: MongoDB Version values: - - id: "latest" - display_name: "latest" - variables: - MONGODB_VERSION: "latest" - CRYPT_SHARED_VERSION: "latest" - id: "8.0" display_name: "8.0" variables: @@ -1061,7 +1056,7 @@ axes: values: - id: mmapv1 display_name: MMAPv1 - run_on: ubuntu1804-small + run_on: ubuntu2004-small variables: MMAPV1: 'true' @@ -1176,7 +1171,7 @@ buildvariants: matrix_spec: auth-and-ssl: ["auth-and-ssl", "noauth-and-nossl"] ruby: "ruby-3.3" - mongodb-version: ["latest", "8.0", "7.0"] + mongodb-version: ["8.0", "7.0"] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} @@ -1186,7 +1181,7 @@ buildvariants: - matrix_name: "mongo-recent" matrix_spec: ruby: ["ruby-3.3", "ruby-3.2", "jruby-9.4"] - mongodb-version: ["latest", "8.0", "7.0"] + mongodb-version: ["8.0", "7.0"] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" diff --git a/.evergreen/config/axes.yml.erb b/.evergreen/config/axes.yml.erb index 23457c9e8a..9650601280 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -13,11 +13,6 @@ axes: - id: "mongodb-version" display_name: MongoDB Version values: - - id: "latest" - display_name: "latest" - variables: - MONGODB_VERSION: "latest" - CRYPT_SHARED_VERSION: "latest" - id: "8.0" display_name: "8.0" variables: @@ -311,7 +306,7 @@ axes: values: - id: mmapv1 display_name: MMAPv1 - run_on: ubuntu1804-small + run_on: ubuntu2004-small variables: MMAPV1: 'true' diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index 3b449ba748..f85b1bbaa6 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -8,7 +8,7 @@ # these are used for testing against a few recent ruby versions recent_rubies = %w( ruby-3.3 ruby-3.2 jruby-9.4 ) - # this is a list of the most most recent 3.x and 2.x MRI ruby versions + # this is a list of the most recent 3.x and 2.x MRI ruby versions sample_mri_rubies = %w( ruby-3.3 ruby-2.7 ) # as above, but including the most recent JRuby release @@ -33,12 +33,8 @@ # The latest stable version of MongoDB latest_stable_mdb = "8.0".inspect # so it gets quoted as a string - # A few of the most recent MongoDB versions - actual_and_upcoming_mdb = %w( latest 8.0 7.0 ) recent_mdb = %w( 8.0 7.0 ) - - all_dbs = %w(latest 8.0 7.0 6.0 5.0 4.4 4.2 4.0 3.6) %> buildvariants: @@ -56,7 +52,7 @@ buildvariants: matrix_spec: auth-and-ssl: ["auth-and-ssl", "noauth-and-nossl"] ruby: <%= latest_ruby %> - mongodb-version: <%= actual_and_upcoming_mdb %> + mongodb-version: <%= recent_mdb %> topology: <%= topologies %> os: ubuntu2204 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} @@ -66,7 +62,7 @@ buildvariants: - matrix_name: "mongo-recent" matrix_spec: ruby: <%= recent_rubies %> - mongodb-version: <%= actual_and_upcoming_mdb %> + mongodb-version: <%= recent_mdb %> topology: <%= topologies %> os: ubuntu2204 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" @@ -96,7 +92,7 @@ buildvariants: - matrix_name: "mongo-4.x" matrix_spec: ruby: <%= older_rubies %> - mongodb-version: ['4.4', '4.2', '4.0'] + mongodb-version: ['4.4', '4.0'] topology: <%= topologies %> os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" @@ -226,7 +222,7 @@ buildvariants: matrix_spec: stress: on ruby: <%= supported_mri_ruby_2 %> - mongodb-version: ['4.2', '4.0', '3.6'] + mongodb-version: ['4.4', '4.0', '3.6'] topology: replica-set os: ubuntu2004 display_name: "${mongodb-version} ${topology} stress ${ruby}" From aa3d2551713fda7c9efcc91d37b787175e3dd698 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 16:44:04 +0100 Subject: [PATCH 5/7] Use xunit everywhere --- .evergreen/run-tests-atlas-full.sh | 3 ++- .evergreen/run-tests-atlas.sh | 3 ++- .evergreen/run-tests-kerberos-integration.sh | 3 ++- .evergreen/run-tests-kerberos-unit.sh | 3 ++- .evergreen/run-tests.sh | 12 ++++++++---- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.evergreen/run-tests-atlas-full.sh b/.evergreen/run-tests-atlas-full.sh index 419a8b33f1..99a8ed347a 100755 --- a/.evergreen/run-tests-atlas-full.sh +++ b/.evergreen/run-tests-atlas-full.sh @@ -27,7 +27,8 @@ bundle_install ATLAS_URI=$MONGODB_URI \ KILL_ALL_SERVER_SESSIONS=0 \ EXAMPLE_TIMEOUT=600 \ - bundle exec rspec -fd spec/integration/search_indexes_prose_spec.rb + bundle exec rspec -fd spec/integration/search_indexes_prose_spec.rb \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml test_status=$? diff --git a/.evergreen/run-tests-atlas.sh b/.evergreen/run-tests-atlas.sh index 9ab1b3b431..2b2298c48a 100755 --- a/.evergreen/run-tests-atlas.sh +++ b/.evergreen/run-tests-atlas.sh @@ -28,4 +28,5 @@ echo "Running specs" export ATLAS_TESTING=1 -bundle exec rspec spec/atlas -fd +bundle exec rspec spec/atlas \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml diff --git a/.evergreen/run-tests-kerberos-integration.sh b/.evergreen/run-tests-kerberos-integration.sh index 30106c598f..51c44c35ba 100755 --- a/.evergreen/run-tests-kerberos-integration.sh +++ b/.evergreen/run-tests-kerberos-integration.sh @@ -98,5 +98,6 @@ if test -n "$TEST_CMD"; then eval $TEST_CMD else echo "Running tests" - bundle exec rspec spec/kerberos + bundle exec rspec spec/kerberos \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml fi diff --git a/.evergreen/run-tests-kerberos-unit.sh b/.evergreen/run-tests-kerberos-unit.sh index 8da371d840..4a3121e7b9 100755 --- a/.evergreen/run-tests-kerberos-unit.sh +++ b/.evergreen/run-tests-kerberos-unit.sh @@ -41,4 +41,5 @@ bundle exec rspec \ spec/spec_tests/connection_string_spec.rb \ spec/mongo/uri/srv_protocol_spec.rb \ spec/mongo/uri_spec.rb \ - spec/integration/client_authentication_options_spec.rb + spec/integration/client_authentication_options_spec.rb \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index bcc0a4981a..27e02c3302 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -349,13 +349,17 @@ set +e if test -n "$TEST_CMD"; then eval $TEST_CMD elif test "$FORK" = 1; then - bundle exec rspec spec/integration/fork*spec.rb spec/stress/fork*spec.rb + bundle exec rspec spec/integration/fork*spec.rb spec/stress/fork*spec.rb \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml elif test "$STRESS" = 1; then - bundle exec rspec spec/integration/fork*spec.rb spec/stress + bundle exec rspec spec/integration/fork*spec.rb spec/stress \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml elif test "$OCSP_VERIFIER" = 1; then - bundle exec rspec spec/integration/ocsp_verifier_spec.rb + bundle exec rspec spec/integration/ocsp_verifier_spec.rb \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml elif test -n "$OCSP_CONNECTIVITY"; then - bundle exec rspec spec/integration/ocsp_connectivity_spec.rb + bundle exec rspec spec/integration/ocsp_connectivity_spec.rb \ + --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml elif test "$SOLO" = 1; then for attempt in `seq 10`; do echo "Attempt $attempt" From 7b3382a2732ad6b22f8e47761526d27ff23ef461 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Tue, 11 Nov 2025 17:07:33 +0100 Subject: [PATCH 6/7] Update configs --- .evergreen/config.yml | 8 ++++---- .evergreen/config/common.yml.erb | 2 +- .evergreen/config/standard.yml.erb | 4 +++- spec/integration/srv_monitoring_spec.rb | 1 + spec/integration/time_zone_querying_spec.rb | 2 ++ spec/integration/transaction_pinning_spec.rb | 2 ++ spec/integration/versioned_api_examples_spec.rb | 2 +- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 5aef4369b7..8127ba06a5 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -179,7 +179,7 @@ functions: export AWS_DEFAULT_REGION="${fle_aws_region}" fi export CSOT_SPEC_TESTS=1 - TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb" \ + TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml" \ .evergreen/run-tests.sh "export FLE credentials": @@ -1200,7 +1200,7 @@ buildvariants: - matrix_name: "mongo-5.x" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2", "jruby-9.4"] + ruby: ["ruby-3.3", "ruby-3.2"] mongodb-version: ['5.0'] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2004 @@ -1211,7 +1211,7 @@ buildvariants: - matrix_name: "mongo-4.x" matrix_spec: ruby: ["ruby-3.0", "ruby-2.7"] - mongodb-version: ['4.4', '4.2', '4.0'] + mongodb-version: ['4.4', '4.0'] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" @@ -1341,7 +1341,7 @@ buildvariants: matrix_spec: stress: on ruby: "ruby-2.7" - mongodb-version: ['4.2', '4.0', '3.6'] + mongodb-version: ['4.4', '4.0', '3.6'] topology: replica-set os: ubuntu2004 display_name: "${mongodb-version} ${topology} stress ${ruby}" diff --git a/.evergreen/config/common.yml.erb b/.evergreen/config/common.yml.erb index 1b82dff403..f5135a1f44 100644 --- a/.evergreen/config/common.yml.erb +++ b/.evergreen/config/common.yml.erb @@ -176,7 +176,7 @@ functions: export AWS_DEFAULT_REGION="${fle_aws_region}" fi export CSOT_SPEC_TESTS=1 - TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb" \ + TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml" \ .evergreen/run-tests.sh "export FLE credentials": diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index f85b1bbaa6..3e9675d1e3 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -8,6 +8,8 @@ # these are used for testing against a few recent ruby versions recent_rubies = %w( ruby-3.3 ruby-3.2 jruby-9.4 ) + recent_mri_rubies = %w( ruby-3.3 ruby-3.2 ) + # this is a list of the most recent 3.x and 2.x MRI ruby versions sample_mri_rubies = %w( ruby-3.3 ruby-2.7 ) @@ -81,7 +83,7 @@ buildvariants: - matrix_name: "mongo-5.x" matrix_spec: - ruby: <%= recent_rubies %> + ruby: <%= recent_mri_rubies %> mongodb-version: ['5.0'] topology: <%= topologies %> os: ubuntu2004 diff --git a/spec/integration/srv_monitoring_spec.rb b/spec/integration/srv_monitoring_spec.rb index ffa58b053f..3da2f7fd09 100644 --- a/spec/integration/srv_monitoring_spec.rb +++ b/spec/integration/srv_monitoring_spec.rb @@ -6,6 +6,7 @@ describe 'SRV Monitoring' do clean_slate_for_all require_external_connectivity + require_mri context 'with SRV lookups mocked at Resolver' do let(:srv_result) do diff --git a/spec/integration/time_zone_querying_spec.rb b/spec/integration/time_zone_querying_spec.rb index 804fb2c17b..c4be40592f 100644 --- a/spec/integration/time_zone_querying_spec.rb +++ b/spec/integration/time_zone_querying_spec.rb @@ -4,6 +4,8 @@ require 'spec_helper' describe 'Time zone querying' do + require_mri + let(:collection) { authorized_client[:time_zone_querying] } before do diff --git a/spec/integration/transaction_pinning_spec.rb b/spec/integration/transaction_pinning_spec.rb index 31d5e534b5..ef2c1503fa 100644 --- a/spec/integration/transaction_pinning_spec.rb +++ b/spec/integration/transaction_pinning_spec.rb @@ -4,6 +4,8 @@ require 'spec_helper' describe 'Transaction pinning' do + require_mri + let(:client) { authorized_client.with(max_pool_size: 4) } let(:collection_name) { 'tx_pinning' } let(:collection) { client[collection_name] } diff --git a/spec/integration/versioned_api_examples_spec.rb b/spec/integration/versioned_api_examples_spec.rb index 6e6651530d..f172e9901f 100644 --- a/spec/integration/versioned_api_examples_spec.rb +++ b/spec/integration/versioned_api_examples_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' describe 'Versioned API examples' do - + require_mri # Until https://jira.mongodb.org/browse/RUBY-1768 is implemented, limit # the tests to simple configurations require_no_auth From a403060a0a1007a3be274b892db9e18ddb292912 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Wed, 12 Nov 2025 13:49:32 +0100 Subject: [PATCH 7/7] Update variants --- .evergreen/config.yml | 47 ++++++++++-------------------- .evergreen/config/axes.yml.erb | 3 ++ .evergreen/config/standard.yml.erb | 44 ++++++++-------------------- 3 files changed, 30 insertions(+), 64 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 8127ba06a5..cb8ee8e449 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -950,6 +950,9 @@ axes: - id: ubuntu2004 display_name: "Ubuntu 20.04" run_on: ubuntu2004-small + - id: ubuntu1804 + display_name: "Ubuntu 18.04" + run_on: ubuntu1804-small - id: docker-distro display_name: Docker Distro @@ -1211,19 +1214,9 @@ buildvariants: - matrix_name: "mongo-4.x" matrix_spec: ruby: ["ruby-3.0", "ruby-2.7"] - mongodb-version: ['4.4', '4.0'] + mongodb-version: ['4.4', '4.2'] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2004 - display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" - tasks: - - name: "test-mlaunch" - - - matrix_name: "mongo-3.6" - matrix_spec: - ruby: "ruby-2.7" - mongodb-version: ['3.6'] - topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2004 + os: ubuntu1804 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -1293,17 +1286,6 @@ buildvariants: tasks: - name: "test-mlaunch" - - matrix_name: mmapv1 - matrix_spec: - ruby: "ruby-2.7" - mongodb-version: ['3.6', '4.0'] - topology: ["standalone", "replica-set", "sharded-cluster"] - storage-engine: mmapv1 - os: ubuntu2004 - display_name: "${mongodb-version} ${topology} mmapv1 ${ruby}" - tasks: - - name: "test-mlaunch" - - matrix_name: "lint" matrix_spec: lint: on @@ -1341,9 +1323,9 @@ buildvariants: matrix_spec: stress: on ruby: "ruby-2.7" - mongodb-version: ['4.4', '4.0', '3.6'] + mongodb-version: ['4.4', '4.2'] topology: replica-set - os: ubuntu2004 + os: ubuntu1804 display_name: "${mongodb-version} ${topology} stress ${ruby}" tasks: - name: "test-mlaunch" @@ -1790,10 +1772,11 @@ buildvariants: tasks: - name: test-atlas - - matrix_name: "aws-lambda" - matrix_spec: - ruby: 'ruby-3.2' - os: ubuntu2204 - display_name: "AWS Lambda" - tasks: - - name: test_aws_lambda_task_group +# https://jira.mongodb.org/browse/RUBY-3311 +# - matrix_name: "aws-lambda" +# matrix_spec: +# ruby: 'ruby-3.2' +# os: ubuntu2204 +# display_name: "AWS Lambda" +# tasks: +# - name: test_aws_lambda_task_group diff --git a/.evergreen/config/axes.yml.erb b/.evergreen/config/axes.yml.erb index 9650601280..dbb7dcdc98 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -202,6 +202,9 @@ axes: - id: ubuntu2004 display_name: "Ubuntu 20.04" run_on: ubuntu2004-small + - id: ubuntu1804 + display_name: "Ubuntu 18.04" + run_on: ubuntu1804-small - id: docker-distro display_name: Docker Distro diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index 3e9675d1e3..efa8986faa 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -94,19 +94,9 @@ buildvariants: - matrix_name: "mongo-4.x" matrix_spec: ruby: <%= older_rubies %> - mongodb-version: ['4.4', '4.0'] + mongodb-version: ['4.4', '4.2'] topology: <%= topologies %> - os: ubuntu2004 - display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" - tasks: - - name: "test-mlaunch" - - - matrix_name: "mongo-3.6" - matrix_spec: - ruby: <%= supported_mri_ruby_2 %> - mongodb-version: ['3.6'] - topology: <%= topologies %> - os: ubuntu2004 + os: ubuntu1804 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "test-mlaunch" @@ -176,17 +166,6 @@ buildvariants: tasks: - name: "test-mlaunch" - - matrix_name: mmapv1 - matrix_spec: - ruby: <%= supported_mri_ruby_2 %> - mongodb-version: ['3.6', '4.0'] - topology: <%= topologies %> - storage-engine: mmapv1 - os: ubuntu2004 - display_name: "${mongodb-version} ${topology} mmapv1 ${ruby}" - tasks: - - name: "test-mlaunch" - - matrix_name: "lint" matrix_spec: lint: on @@ -224,9 +203,9 @@ buildvariants: matrix_spec: stress: on ruby: <%= supported_mri_ruby_2 %> - mongodb-version: ['4.4', '4.0', '3.6'] + mongodb-version: ['4.4', '4.2'] topology: replica-set - os: ubuntu2004 + os: ubuntu1804 display_name: "${mongodb-version} ${topology} stress ${ruby}" tasks: - name: "test-mlaunch" @@ -521,10 +500,11 @@ buildvariants: tasks: - name: test-atlas - - matrix_name: "aws-lambda" - matrix_spec: - ruby: 'ruby-3.2' - os: ubuntu2204 - display_name: "AWS Lambda" - tasks: - - name: test_aws_lambda_task_group +# https://jira.mongodb.org/browse/RUBY-3311 +# - matrix_name: "aws-lambda" +# matrix_spec: +# ruby: 'ruby-3.2' +# os: ubuntu2204 +# display_name: "AWS Lambda" +# tasks: +# - name: test_aws_lambda_task_group