From 801df237ca2c63f9eca74dbf5ac45194fb8d14cf Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 16 Jan 2026 08:39:36 +0100 Subject: [PATCH 1/5] Add Ruby 4.0 --- .evergreen/config.yml | 106 +++++++++--------- .evergreen/config/axes.yml.erb | 10 +- .evergreen/config/standard.yml.erb | 16 +-- gemfiles/standard.rb | 2 + spec/mongo/client_construction_spec.rb | 10 +- .../event/cmap/pool_created_spec.rb | 2 +- 6 files changed, 75 insertions(+), 71 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index d64b5ba485..992e39a3af 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -914,10 +914,10 @@ axes: display_name: ruby-dev variables: RVM_RUBY: "ruby-dev" - - id: "ruby-3.5" + - id: "ruby-4.0" display_name: ruby-3.5 variables: - RVM_RUBY: "ruby-3.5" + RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" display_name: ruby-3.4 variables: @@ -946,10 +946,10 @@ axes: display_name: ruby-2.7 variables: RVM_RUBY: "ruby-2.7" - - id: "jruby-10" - display_name: jruby-10 + - id: "jruby-10.0" + display_name: jruby-10.0 variables: - RVM_RUBY: "jruby-10" + RVM_RUBY: "jruby-10.0" - id: "jruby-9.4" display_name: jruby-9.4 variables: @@ -1172,7 +1172,7 @@ axes: buildvariants: - matrix_name: DriverBench matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: standalone os: ubuntu2204 @@ -1183,7 +1183,7 @@ buildvariants: - matrix_name: "auth/ssl" matrix_spec: auth-and-ssl: ["auth-and-ssl", "noauth-and-nossl"] - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: ["8.0", "7.0"] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1193,7 +1193,7 @@ buildvariants: - matrix_name: "mongo-recent" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2", "jruby-9.4"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "jruby-10.0"] mongodb-version: ["8.0", "7.0"] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1203,7 +1203,7 @@ buildvariants: - matrix_name: "mongo-8-arm" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: [ '8.0' ] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2404-arm @@ -1213,7 +1213,7 @@ buildvariants: - matrix_name: "mongo-5.x" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2"] + ruby: ["ruby-4.0", "ruby-3.4"] mongodb-version: ['5.0'] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2004 @@ -1233,7 +1233,7 @@ buildvariants: - matrix_name: "single-lb" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: load-balanced single-mongos: single-mongos @@ -1244,7 +1244,7 @@ buildvariants: - matrix_name: "mongo-api-version" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: '7.0' topology: standalone api-version-required: yes @@ -1255,7 +1255,7 @@ buildvariants: - matrix_name: "single-mongos" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: "sharded-cluster" single-mongos: single-mongos @@ -1266,7 +1266,7 @@ buildvariants: - matrix_name: CSOT matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: replica-set-single-node os: ubuntu2204 @@ -1276,7 +1276,7 @@ buildvariants: - matrix_name: OTel matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: replica-set-single-node os: ubuntu2204 @@ -1287,7 +1287,7 @@ buildvariants: - matrix_name: "no-retry-reads" matrix_spec: retry-reads: no-retry-reads - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1298,7 +1298,7 @@ buildvariants: - matrix_name: "no-retry-writes" matrix_spec: retry-writes: no-retry-writes - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: [replica-set, sharded-cluster] os: ubuntu2204 @@ -1309,7 +1309,7 @@ buildvariants: - matrix_name: "lint" matrix_spec: lint: on - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1320,7 +1320,7 @@ buildvariants: - matrix_name: "fork" matrix_spec: fork: on - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1331,7 +1331,7 @@ buildvariants: - matrix_name: "solo" matrix_spec: solo: on - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1353,7 +1353,7 @@ buildvariants: - matrix_name: "stress" matrix_spec: stress: on - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: ["8.0", "7.0"] topology: replica-set os: ubuntu2204 @@ -1364,7 +1364,7 @@ buildvariants: # - matrix_name: "x509-tests" # matrix_spec: # auth-and-ssl: "x509" -# ruby: "ruby-3.3" +# ruby: "ruby-4.0" # mongodb-version: "8.0" # topology: standalone # os: ubuntu2204 @@ -1375,7 +1375,7 @@ buildvariants: - matrix_name: "jruby-auth" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: jruby-9.4 + ruby: jruby-10.0 mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1383,10 +1383,10 @@ buildvariants: tasks: - name: "run-main-test-suite" - - matrix_name: zlib-"ruby-3.3" + - matrix_name: zlib-"ruby-4.0" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: "replica-set" compressor: 'zlib' @@ -1395,10 +1395,10 @@ buildvariants: tasks: - name: "run-main-test-suite" - - matrix_name: snappy-"ruby-3.3" + - matrix_name: snappy-"ruby-4.0" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: "replica-set" compressor: 'snappy' @@ -1411,10 +1411,10 @@ buildvariants: # apparently a zstd-jni gem for JRuby that we could investigate here; if # this test is ever supported to support jruby, the `sample_mri_rubies` # reference should be replaced with `sample_rubies`. - - matrix_name: zstd-auth-"ruby-3.3" + - matrix_name: zstd-auth-"ruby-4.0" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: "replica-set" compressor: 'zstd' @@ -1423,9 +1423,9 @@ buildvariants: tasks: - name: "run-main-test-suite" - - matrix_name: activesupport-"ruby-3.3" + - matrix_name: activesupport-"ruby-4.0" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: replica-set as: as @@ -1434,9 +1434,9 @@ buildvariants: tasks: - name: "test-mlaunch" - - matrix_name: bson-"ruby-3.3" + - matrix_name: bson-"ruby-4.0" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: replica-set bson: "*" @@ -1509,7 +1509,7 @@ buildvariants: - matrix_name: "fle above 4.4" matrix_spec: auth-and-ssl: "noauth-and-nossl" - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] topology: [replica-set, sharded-cluster] mongodb-version: [ '6.0', '7.0', '8.0' ] os: ubuntu2204 @@ -1520,7 +1520,7 @@ buildvariants: # kerberos integration tests are broken (RUBY-3266) # - matrix_name: "kerberos-integration" # matrix_spec: - # ruby: ["ruby-3.3", "ruby-2.7", "jruby-9.4"] + # ruby: ["ruby-4.0", "ruby-2.7", "jruby-10.0"] # os: rhel8 # display_name: "Kerberos integration ${os} ${ruby}" # tasks: @@ -1528,7 +1528,7 @@ buildvariants: - matrix_name: "kerberos-unit" matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" mongodb-version: "8.0" topology: standalone os: ubuntu2204 @@ -1556,7 +1556,7 @@ buildvariants: # auth-and-ssl: [ aws-regular, aws-assume-role, aws-ecs, aws-web-identity ] # https://jira.mongodb.org/browse/RUBY-3659 auth-and-ssl: [ aws-regular, aws-assume-role, aws-web-identity ] - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1568,7 +1568,7 @@ buildvariants: matrix_spec: ocsp-verifier: true # No JRuby due to https://github.com/jruby/jruby-openssl/issues/210 - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1581,7 +1581,7 @@ buildvariants: ocsp-algorithm: ecdsa ocsp-must-staple: on ocsp-delegate: on - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1594,7 +1594,7 @@ buildvariants: matrix_spec: ocsp-algorithm: rsa ocsp-status: unknown - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1610,7 +1610,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "none" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1624,7 +1624,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "none" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1638,7 +1638,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: fail extra-uri-options: "none" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1652,7 +1652,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsInsecure=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1666,7 +1666,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsInsecure=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1680,7 +1680,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsInsecure=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1694,7 +1694,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsAllowInvalidCertificates=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1708,7 +1708,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsAllowInvalidCertificates=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1722,7 +1722,7 @@ buildvariants: ocsp-delegate: '*' ocsp-connectivity: pass extra-uri-options: "tlsAllowInvalidCertificates=true" - ruby: "ruby-3.3" + ruby: "ruby-4.0" topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1742,7 +1742,7 @@ buildvariants: ocsp-status: [valid, unknown] ocsp-delegate: '*' ocsp-connectivity: pass - ruby: jruby-9.4 + ruby: jruby-10.0 topology: standalone mongodb-version: "8.0" os: ubuntu2204 @@ -1753,7 +1753,7 @@ buildvariants: # https://jira.mongodb.org/browse/RUBY-3540 #- matrix_name: testgcpkms-variant # matrix_spec: - # ruby: "ruby-3.3" + # ruby: "ruby-4.0" # fle: helper # topology: standalone # os: ubuntu2204 @@ -1778,7 +1778,7 @@ buildvariants: - matrix_name: atlas-full matrix_spec: - ruby: "ruby-3.3" + ruby: "ruby-4.0" os: ubuntu2204 display_name: "Atlas (Full)" tasks: @@ -1786,7 +1786,7 @@ buildvariants: - matrix_name: "atlas" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] os: ubuntu2204 display_name: "Atlas connectivity tests ${ruby}" tasks: diff --git a/.evergreen/config/axes.yml.erb b/.evergreen/config/axes.yml.erb index 3bd44c95ea..c22f504958 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -139,10 +139,10 @@ axes: display_name: ruby-dev variables: RVM_RUBY: "ruby-dev" - - id: "ruby-3.5" + - id: "ruby-4.0" display_name: ruby-3.5 variables: - RVM_RUBY: "ruby-3.5" + RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" display_name: ruby-3.4 variables: @@ -171,10 +171,10 @@ axes: display_name: ruby-2.7 variables: RVM_RUBY: "ruby-2.7" - - id: "jruby-10" - display_name: jruby-10 + - id: "jruby-10.0" + display_name: jruby-10.0 variables: - RVM_RUBY: "jruby-10" + RVM_RUBY: "jruby-10.0" - id: "jruby-9.4" display_name: jruby-9.4 variables: diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index 6118d1bb99..ae301c507c 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -3,28 +3,28 @@ # latest_ruby = the most recently released, stable version of Ruby # (make sure this version is being built by 10gen/mongo-ruby-toolchain) - latest_ruby = "ruby-3.3".inspect # so it gets quoted as a string + latest_ruby = "ruby-4.0".inspect # so it gets quoted as a string # these are used for testing against a few recent ruby versions - recent_rubies = %w( ruby-3.3 ruby-3.2 jruby-9.4 ) + recent_rubies = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 jruby-10.0 ) - recent_mri_rubies = %w( ruby-3.3 ruby-3.2 ) + recent_mri_rubies = %w( ruby-4.0 ruby-3.4 ) # 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 ) + sample_mri_rubies = %w( ruby-4.0 ruby-2.7 ) # as above, but including the most recent JRuby release - sample_rubies = sample_mri_rubies + %w( jruby-9.4 ) + sample_rubies = sample_mri_rubies + %w( jruby-10.0 ) # older Ruby versions provided by 10gen/mongo-ruby-toolchain older_rubies = %w( ruby-3.0 ruby-2.7 ) # all supported JRuby versions provided by 10gen/mongo-ruby-toolchain - jrubies = %w( jruby-9.4 jruby-9.3 ) + jrubies = %w( jruby-10.0 jruby-9.4 ) - supported_mri_rubies_3 = %w( ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ) + supported_mri_rubies_3 = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ) - supported_mri_rubies_3_ubuntu = %w( ruby-3.3 ruby-3.2 ruby-3.1 ) + supported_mri_rubies_3_ubuntu = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 ruby-3.1 ) supported_mri_ruby_2 = "ruby-2.7".inspect diff --git a/gemfiles/standard.rb b/gemfiles/standard.rb index d03b9ec7f3..3a8f01ff96 100644 --- a/gemfiles/standard.rb +++ b/gemfiles/standard.rb @@ -41,6 +41,8 @@ def standard_dependencies gem 'ruby-debug-ide' end end + + gem 'ostruct' if RUBY_VERSION >= '3.4' end group :testing do diff --git a/spec/mongo/client_construction_spec.rb b/spec/mongo/client_construction_spec.rb index 48f4039b4a..e1331f1dea 100644 --- a/spec/mongo/client_construction_spec.rb +++ b/spec/mongo/client_construction_spec.rb @@ -1666,21 +1666,23 @@ require_no_linting it 'rejects bogus read preference as symbol' do + read = BSON::Document.new({ mode: :bogus }) expect do - new_local_client_nmio(SINGLE_CLIENT, read: { mode: :bogus }) + new_local_client_nmio(SINGLE_CLIENT, read: read) end.to raise_error( Mongo::Error::InvalidReadOption, - 'Invalid read preference value: {"mode"=>:bogus}: ' \ + "Invalid read preference value: #{read}: " \ 'mode bogus is not one of recognized modes' ) end it 'rejects bogus read preference as string' do + read = BSON::Document.new({ mode: 'bogus' }) expect do - new_local_client_nmio(SINGLE_CLIENT, read: { mode: 'bogus' }) + new_local_client_nmio(SINGLE_CLIENT, read: read) end.to raise_error( Mongo::Error::InvalidReadOption, - 'Invalid read preference value: {"mode"=>"bogus"}: mode bogus is not one of recognized modes' + "Invalid read preference value: #{read}: mode bogus is not one of recognized modes" ) end diff --git a/spec/mongo/monitoring/event/cmap/pool_created_spec.rb b/spec/mongo/monitoring/event/cmap/pool_created_spec.rb index 637c46ba18..cf9a1d980f 100644 --- a/spec/mongo/monitoring/event/cmap/pool_created_spec.rb +++ b/spec/mongo/monitoring/event/cmap/pool_created_spec.rb @@ -30,7 +30,7 @@ end it 'renders correctly' do - expect(event.summary).to eq("#3, :min_pool_size=>5} pool=0x#{pool.object_id}>") + expect(event.summary).to eq("#") end end end From 249afb6e2da1460f34e0f07e20d81248c61f4c7b Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 16 Jan 2026 10:52:08 +0100 Subject: [PATCH 2/5] Fix config --- .evergreen/config.yml | 14 +++++--------- .evergreen/config/axes.yml.erb | 6 +----- .evergreen/config/standard.yml.erb | 6 +++--- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 992e39a3af..46fee4350f 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -915,7 +915,7 @@ axes: variables: RVM_RUBY: "ruby-dev" - id: "ruby-4.0" - display_name: ruby-3.5 + display_name: ruby-4.0 variables: RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" @@ -946,10 +946,6 @@ axes: display_name: ruby-2.7 variables: RVM_RUBY: "ruby-2.7" - - id: "jruby-10.0" - display_name: jruby-10.0 - variables: - RVM_RUBY: "jruby-10.0" - id: "jruby-9.4" display_name: jruby-9.4 variables: @@ -1193,7 +1189,7 @@ buildvariants: - matrix_name: "mongo-recent" matrix_spec: - ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "jruby-10.0"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "jruby-9.4"] mongodb-version: ["8.0", "7.0"] topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1375,7 +1371,7 @@ buildvariants: - matrix_name: "jruby-auth" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: jruby-10.0 + ruby: jruby-9.4 mongodb-version: "8.0" topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 @@ -1520,7 +1516,7 @@ buildvariants: # kerberos integration tests are broken (RUBY-3266) # - matrix_name: "kerberos-integration" # matrix_spec: - # ruby: ["ruby-4.0", "ruby-2.7", "jruby-10.0"] + # ruby: ["ruby-4.0", "ruby-2.7", "jruby-9.4"] # os: rhel8 # display_name: "Kerberos integration ${os} ${ruby}" # tasks: @@ -1742,7 +1738,7 @@ buildvariants: ocsp-status: [valid, unknown] ocsp-delegate: '*' ocsp-connectivity: pass - ruby: jruby-10.0 + ruby: jruby-9.4 topology: standalone mongodb-version: "8.0" os: ubuntu2204 diff --git a/.evergreen/config/axes.yml.erb b/.evergreen/config/axes.yml.erb index c22f504958..66f1ec5f9b 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -140,7 +140,7 @@ axes: variables: RVM_RUBY: "ruby-dev" - id: "ruby-4.0" - display_name: ruby-3.5 + display_name: ruby-4.0 variables: RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" @@ -171,10 +171,6 @@ axes: display_name: ruby-2.7 variables: RVM_RUBY: "ruby-2.7" - - id: "jruby-10.0" - display_name: jruby-10.0 - variables: - RVM_RUBY: "jruby-10.0" - id: "jruby-9.4" display_name: jruby-9.4 variables: diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index ae301c507c..60825b9344 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -6,7 +6,7 @@ latest_ruby = "ruby-4.0".inspect # so it gets quoted as a string # these are used for testing against a few recent ruby versions - recent_rubies = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 jruby-10.0 ) + recent_rubies = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 jruby-9.4 ) recent_mri_rubies = %w( ruby-4.0 ruby-3.4 ) @@ -14,13 +14,13 @@ sample_mri_rubies = %w( ruby-4.0 ruby-2.7 ) # as above, but including the most recent JRuby release - sample_rubies = sample_mri_rubies + %w( jruby-10.0 ) + sample_rubies = sample_mri_rubies + %w( jruby-9.4 ) # older Ruby versions provided by 10gen/mongo-ruby-toolchain older_rubies = %w( ruby-3.0 ruby-2.7 ) # all supported JRuby versions provided by 10gen/mongo-ruby-toolchain - jrubies = %w( jruby-10.0 jruby-9.4 ) + jrubies = %w( jruby-9.4 ) supported_mri_rubies_3 = %w( ruby-4.0 ruby-3.4 ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ) From fc2c2565e90abf243c21e2045de63b5a28abda9d Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 16 Jan 2026 12:59:09 +0100 Subject: [PATCH 3/5] Add tags --- .evergreen/config.yml | 47 ++++++++++++++++++++++++++++++ .evergreen/config/standard.yml.erb | 34 +++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 46fee4350f..502ad2b7d8 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -1166,6 +1166,16 @@ axes: display_name: No buildvariants: + - matrix_name: "ruby-dev" + matrix_spec: + ruby: "ruby-dev" + mongodb-version: ["8.0", "7.0"] + topology: "replica-set" + os: ubuntu2204 + display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tasks: + - name: "run-main-test-suite" + - matrix_name: DriverBench matrix_spec: ruby: "ruby-4.0" @@ -1184,6 +1194,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1194,6 +1205,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1204,6 +1216,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2404-arm display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1214,6 +1227,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1224,6 +1238,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu1804 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1235,6 +1250,7 @@ buildvariants: single-mongos: single-mongos os: ubuntu2204 display_name: "${mongodb-version} ${topology} single-lb ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1246,6 +1262,7 @@ buildvariants: api-version-required: yes os: ubuntu2204 display_name: "${mongodb-version} api-version-required ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1257,6 +1274,7 @@ buildvariants: single-mongos: single-mongos os: ubuntu2204 display_name: "${mongodb-version} ${topology} single-mongos ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1267,6 +1285,7 @@ buildvariants: topology: replica-set-single-node os: ubuntu2204 display_name: "CSOT - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-csot @@ -1277,6 +1296,7 @@ buildvariants: topology: replica-set-single-node os: ubuntu2204 display_name: "OTel - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-otel @@ -1288,6 +1308,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1299,6 +1320,7 @@ buildvariants: topology: [replica-set, sharded-cluster] os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1376,6 +1398,7 @@ buildvariants: topology: ["standalone", "replica-set", "sharded-cluster"] os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1388,6 +1411,7 @@ buildvariants: compressor: 'zlib' os: ubuntu2204 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1400,6 +1424,7 @@ buildvariants: compressor: 'snappy' os: ubuntu2204 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1416,6 +1441,7 @@ buildvariants: compressor: 'zstd' os: ubuntu2204 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1427,6 +1453,7 @@ buildvariants: as: as os: ubuntu2204 display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1438,6 +1465,7 @@ buildvariants: bson: "*" os: ubuntu2204 display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: zlib-"ruby-2.7" @@ -1449,6 +1477,7 @@ buildvariants: compressor: 'zlib' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1461,6 +1490,7 @@ buildvariants: compressor: 'snappy' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1477,6 +1507,7 @@ buildvariants: compressor: 'zstd' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1488,6 +1519,7 @@ buildvariants: as: as os: ubuntu2004 display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1499,6 +1531,7 @@ buildvariants: bson: "*" os: ubuntu2004 display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1511,6 +1544,7 @@ buildvariants: os: ubuntu2204 fle: helper display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-fle" # kerberos integration tests are broken (RUBY-3266) @@ -1557,6 +1591,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: "test-aws-auth" @@ -1569,6 +1604,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP verifier: ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch @@ -1611,6 +1647,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1625,6 +1662,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1639,6 +1677,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1653,6 +1692,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1667,6 +1707,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1681,6 +1722,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1695,6 +1737,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1709,6 +1752,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch - matrix_name: ocsp-connectivity @@ -1723,6 +1767,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch @@ -1743,6 +1788,7 @@ buildvariants: mongodb-version: "8.0" os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch @@ -1785,6 +1831,7 @@ buildvariants: ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] os: ubuntu2204 display_name: "Atlas connectivity tests ${ruby}" + tags: ["pr"] tasks: - name: test-atlas diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index 60825b9344..fc0ed5f8cb 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -40,6 +40,16 @@ %> buildvariants: + - matrix_name: "ruby-dev" + matrix_spec: + ruby: "ruby-dev" + mongodb-version: <%= recent_mdb %> + topology: "replica-set" + os: ubuntu2204 + display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tasks: + - name: "run-main-test-suite" + - matrix_name: DriverBench matrix_spec: ruby: <%= latest_ruby %> @@ -58,6 +68,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2204 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -68,6 +79,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2204 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -78,6 +90,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2404-arm display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -88,6 +101,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2004 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -98,6 +112,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu1804 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -109,6 +124,7 @@ buildvariants: single-mongos: single-mongos os: ubuntu2204 display_name: "${mongodb-version} ${topology} single-lb ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -120,6 +136,7 @@ buildvariants: api-version-required: yes os: ubuntu2204 display_name: "${mongodb-version} api-version-required ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -131,6 +148,7 @@ buildvariants: single-mongos: single-mongos os: ubuntu2204 display_name: "${mongodb-version} ${topology} single-mongos ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -141,6 +159,7 @@ buildvariants: topology: replica-set-single-node os: ubuntu2204 display_name: "CSOT - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-csot @@ -151,6 +170,7 @@ buildvariants: topology: replica-set-single-node os: ubuntu2204 display_name: "OTel - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-otel @@ -162,6 +182,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -173,6 +194,7 @@ buildvariants: topology: [replica-set, sharded-cluster] os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -250,6 +272,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu2204 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -267,6 +290,7 @@ buildvariants: compressor: 'zlib' os: <%= distro %> display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -279,6 +303,7 @@ buildvariants: compressor: 'snappy' os: <%= distro %> display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -295,6 +320,7 @@ buildvariants: compressor: 'zstd' os: <%= distro %> display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -306,6 +332,7 @@ buildvariants: as: as os: <%= distro %> display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -317,6 +344,7 @@ buildvariants: bson: "*" os: <%= distro %> display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" <% end %> @@ -330,6 +358,7 @@ buildvariants: os: ubuntu2204 fle: helper display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-fle" # kerberos integration tests are broken (RUBY-3266) @@ -376,6 +405,7 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> os: ubuntu2204 display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: "test-aws-auth" @@ -388,6 +418,7 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> os: ubuntu2204 display_name: "OCSP verifier: ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch @@ -444,6 +475,7 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch <% end %> @@ -465,6 +497,7 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> os: ubuntu2204 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: test-mlaunch @@ -507,6 +540,7 @@ buildvariants: ruby: <%= supported_mri_rubies_3_ubuntu %> os: ubuntu2204 display_name: "Atlas connectivity tests ${ruby}" + tags: ["pr"] tasks: - name: test-atlas From 5c1e778cc24f9a405159c3341527cca11944978e Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 16 Jan 2026 13:53:11 +0100 Subject: [PATCH 4/5] Fix dev --- .evergreen/config.yml | 2 +- .evergreen/config/standard.yml.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 502ad2b7d8..20322a3b7a 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -1171,7 +1171,7 @@ buildvariants: ruby: "ruby-dev" mongodb-version: ["8.0", "7.0"] topology: "replica-set" - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "run-main-test-suite" diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index fc0ed5f8cb..ef8072811e 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -45,7 +45,7 @@ buildvariants: ruby: "ruby-dev" mongodb-version: <%= recent_mdb %> topology: "replica-set" - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" tasks: - name: "run-main-test-suite" From 8860a31bbc18733aafaae246047216e97733174f Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 16 Jan 2026 16:34:11 +0100 Subject: [PATCH 5/5] Remove sample rubies --- .evergreen/config.yml | 8 -------- .evergreen/config/standard.yml.erb | 14 -------------- 2 files changed, 22 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 20322a3b7a..4f9b4fb876 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -1547,14 +1547,6 @@ buildvariants: tags: ["pr"] tasks: - name: "test-fle" - # kerberos integration tests are broken (RUBY-3266) - # - matrix_name: "kerberos-integration" - # matrix_spec: - # ruby: ["ruby-4.0", "ruby-2.7", "jruby-9.4"] - # os: rhel8 - # display_name: "Kerberos integration ${os} ${ruby}" - # tasks: - # - name: "test-kerberos-integration" - matrix_name: "kerberos-unit" matrix_spec: diff --git a/.evergreen/config/standard.yml.erb b/.evergreen/config/standard.yml.erb index ef8072811e..3479edd631 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -10,12 +10,6 @@ recent_mri_rubies = %w( ruby-4.0 ruby-3.4 ) - # this is a list of the most recent 3.x and 2.x MRI ruby versions - sample_mri_rubies = %w( ruby-4.0 ruby-2.7 ) - - # as above, but including the most recent JRuby release - sample_rubies = sample_mri_rubies + %w( jruby-9.4 ) - # older Ruby versions provided by 10gen/mongo-ruby-toolchain older_rubies = %w( ruby-3.0 ruby-2.7 ) @@ -361,14 +355,6 @@ buildvariants: tags: ["pr"] tasks: - name: "test-fle" - # kerberos integration tests are broken (RUBY-3266) - # - matrix_name: "kerberos-integration" - # matrix_spec: - # ruby: <%= sample_rubies %> - # os: rhel8 - # display_name: "Kerberos integration ${os} ${ruby}" - # tasks: - # - name: "test-kerberos-integration" - matrix_name: "kerberos-unit" matrix_spec: