diff --git a/.evergreen/config.yml b/.evergreen/config.yml index d64b5ba485..4ae56097b0 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -777,6 +777,14 @@ axes: - id: "mongodb-version" display_name: MongoDB Version values: + - id: "latest" + display_name: "latest" + variables: + MONGODB_VERSION: "latest" + - id: "8.2" + display_name: "8.2" + variables: + MONGODB_VERSION: "8.2" - id: "8.0" display_name: "8.0" variables: @@ -914,10 +922,10 @@ axes: display_name: ruby-dev variables: RVM_RUBY: "ruby-dev" - - id: "ruby-3.5" - display_name: ruby-3.5 + - id: "ruby-4.0" + display_name: ruby-4.0 variables: - RVM_RUBY: "ruby-3.5" + RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" display_name: ruby-3.4 variables: @@ -946,10 +954,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,10 +1180,10 @@ axes: buildvariants: - matrix_name: DriverBench matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: standalone - os: ubuntu2204 + os: ubuntu2404 display_name: DriverBench tasks: - name: "driver-bench" @@ -1183,41 +1191,45 @@ buildvariants: - matrix_name: "auth/ssl" matrix_spec: auth-and-ssl: ["auth-and-ssl", "noauth-and-nossl"] - ruby: "ruby-3.3" - mongodb-version: ["8.0", "7.0"] + ruby: "ruby-4.0" + mongodb-version: ["8.2", "8.0"] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} + tags: ["pr"] tasks: - name: "run-main-test-suite" - matrix_name: "mongo-recent" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2", "jruby-9.4"] - mongodb-version: ["8.0", "7.0"] + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "jruby-10.0"] + mongodb-version: ["8.2", "8.0"] topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" - 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 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" - 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 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1228,91 +1240,99 @@ 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" - matrix_name: "single-lb" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: load-balanced single-mongos: single-mongos - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} single-lb ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: "mongo-api-version" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: '7.0' + ruby: "ruby-4.0" + mongodb-version: '8.0' topology: standalone api-version-required: yes - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} api-version-required ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: "single-mongos" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: "sharded-cluster" single-mongos: single-mongos - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} single-mongos ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: CSOT matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: replica-set-single-node - os: ubuntu2204 + os: ubuntu2404 display_name: "CSOT - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-csot - matrix_name: OTel matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: replica-set-single-node - os: ubuntu2204 + os: ubuntu2404 display_name: "OTel - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-otel - matrix_name: "no-retry-reads" matrix_spec: retry-reads: no-retry-reads - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: "no-retry-writes" matrix_spec: retry-writes: no-retry-writes - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: [replica-set, sharded-cluster] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: "lint" matrix_spec: lint: on - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${lint} ${ruby}" tasks: - name: "test-mlaunch" @@ -1320,10 +1340,10 @@ buildvariants: - matrix_name: "fork" matrix_spec: fork: on - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} fork ${ruby}" tasks: - name: "test-mlaunch" @@ -1331,10 +1351,10 @@ buildvariants: - matrix_name: "solo" matrix_spec: solo: on - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] - mongodb-version: "8.0" + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] + mongodb-version: "8.2" topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} solo ${ruby}" tasks: - name: "test-mlaunch" @@ -1353,21 +1373,22 @@ buildvariants: - matrix_name: "stress" matrix_spec: stress: on - ruby: "ruby-3.3" - mongodb-version: ["8.0", "7.0"] + ruby: "ruby-4.0" + mongodb-version: ["8.2", "8.0"] topology: replica-set - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} stress ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" # - matrix_name: "x509-tests" # matrix_spec: # auth-and-ssl: "x509" -# ruby: "ruby-3.3" -# mongodb-version: "8.0" +# ruby: "ruby-4.0" +# mongodb-version: "8.2" # topology: standalone -# os: ubuntu2204 +# os: ubuntu2404 # display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" # tasks: # - name: "test-mlaunch" @@ -1375,35 +1396,38 @@ buildvariants: - matrix_name: "jruby-auth" matrix_spec: auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ] - ruby: jruby-9.4 - mongodb-version: "8.0" + ruby: jruby-10.0 + mongodb-version: "8.2" topology: ["standalone", "replica-set", "sharded-cluster"] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] 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" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: "replica-set" compressor: 'zlib' - os: ubuntu2204 + os: ubuntu2404 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] 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" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: "replica-set" compressor: 'snappy' - os: ubuntu2204 + os: ubuntu2404 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1411,37 +1435,40 @@ 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" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: "replica-set" compressor: 'zstd' - os: ubuntu2204 + os: ubuntu2404 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" - - matrix_name: activesupport-"ruby-3.3" + - matrix_name: activesupport-"ruby-4.0" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: replica-set as: as - os: ubuntu2204 + os: ubuntu2404 display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - - matrix_name: bson-"ruby-3.3" + - matrix_name: bson-"ruby-4.0" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: replica-set bson: "*" - os: ubuntu2204 + os: ubuntu2404 display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: zlib-"ruby-2.7" @@ -1453,6 +1480,7 @@ buildvariants: compressor: 'zlib' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1465,6 +1493,7 @@ buildvariants: compressor: 'snappy' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1481,6 +1510,7 @@ buildvariants: compressor: 'zstd' os: ubuntu2004 display_name: "${compressor} ${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -1492,6 +1522,7 @@ buildvariants: as: as os: ubuntu2004 display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -1503,24 +1534,26 @@ buildvariants: bson: "*" os: ubuntu2004 display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - 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' ] + mongodb-version: [ '6.0', '7.0', '8.0', '8.2' ] os: ubuntu2204 fle: helper display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-fle" # 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,10 +1561,10 @@ buildvariants: - matrix_name: "kerberos-unit" matrix_spec: - ruby: "ruby-3.3" - mongodb-version: "8.0" + ruby: "ruby-4.0" + mongodb-version: "8.2" topology: standalone - os: ubuntu2204 + os: ubuntu2404 auth-and-ssl: kerberos display_name: "Kerberos Tests" tasks: @@ -1543,7 +1576,7 @@ buildvariants: # ruby: # topology: [replica-set, sharded-cluster] # mongodb-version: [ 'latest' ] -# os: ubuntu2204 +# os: ubuntu2404 # fle: helper # display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" # tasks: @@ -1556,11 +1589,12 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: "test-aws-auth" @@ -1568,10 +1602,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP verifier: ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1581,10 +1615,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 auth-and-ssl: noauth-and-ssl display_name: "OCSP integration - must staple: ${mongodb-version} ${ruby}" tasks: @@ -1594,10 +1628,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 auth-and-ssl: noauth-and-ssl display_name: "OCSP integration - unknown: ${mongodb-version} ${ruby}" tasks: @@ -1610,10 +1644,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1624,10 +1658,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1638,10 +1672,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1652,10 +1686,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1666,10 +1700,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1680,10 +1714,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1694,10 +1728,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1708,10 +1742,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1722,10 +1756,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1742,10 +1776,10 @@ 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 + mongodb-version: "8.2" + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -1753,11 +1787,11 @@ 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 - # mongodb-version: "8.0" + # os: ubuntu2404 + # mongodb-version: "8.2" # display_name: "GCP KMS" # tasks: # - name: testgcpkms_task_group @@ -1778,17 +1812,18 @@ buildvariants: - matrix_name: atlas-full matrix_spec: - ruby: "ruby-3.3" - os: ubuntu2204 + ruby: "ruby-4.0" + os: ubuntu2404 display_name: "Atlas (Full)" tasks: - name: testatlas_full_task_group - matrix_name: "atlas" matrix_spec: - ruby: ["ruby-3.3", "ruby-3.2", "ruby-3.1"] - os: ubuntu2204 + ruby: ["ruby-4.0", "ruby-3.4", "ruby-3.3", "ruby-3.2", "ruby-3.1"] + os: ubuntu2404 display_name: "Atlas connectivity tests ${ruby}" + tags: ["pr"] tasks: - name: test-atlas @@ -1796,7 +1831,7 @@ buildvariants: # - matrix_name: "aws-lambda" # matrix_spec: # ruby: 'ruby-3.2' -# os: ubuntu2204 +# os: ubuntu2404 # 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 3bd44c95ea..f1e247ed81 100644 --- a/.evergreen/config/axes.yml.erb +++ b/.evergreen/config/axes.yml.erb @@ -2,6 +2,14 @@ axes: - id: "mongodb-version" display_name: MongoDB Version values: + - id: "latest" + display_name: "latest" + variables: + MONGODB_VERSION: "latest" + - id: "8.2" + display_name: "8.2" + variables: + MONGODB_VERSION: "8.2" - id: "8.0" display_name: "8.0" variables: @@ -139,10 +147,10 @@ axes: display_name: ruby-dev variables: RVM_RUBY: "ruby-dev" - - id: "ruby-3.5" - display_name: ruby-3.5 + - id: "ruby-4.0" + display_name: ruby-4.0 variables: - RVM_RUBY: "ruby-3.5" + RVM_RUBY: "ruby-4.0" - id: "ruby-3.4" display_name: ruby-3.4 variables: @@ -171,10 +179,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..600d321c33 100644 --- a/.evergreen/config/standard.yml.erb +++ b/.evergreen/config/standard.yml.erb @@ -3,28 +3,29 @@ # 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 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 ) + # We put 4.0 to rubies_3 so far + 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 @@ -33,10 +34,10 @@ jrubies # The latest stable version of MongoDB - latest_stable_mdb = "8.0".inspect # so it gets quoted as a string + latest_stable_mdb = "8.2".inspect # so it gets quoted as a string - recent_mdb = %w( 8.0 7.0 ) + recent_mdb = %w( 8.2 8.0 ) %> buildvariants: @@ -45,7 +46,7 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: standalone - os: ubuntu2204 + os: ubuntu2404 display_name: DriverBench tasks: - name: "driver-bench" @@ -56,8 +57,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= recent_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: ${auth-and-ssl} ${ruby} db-${mongodb-version} ${topology} + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -66,8 +68,9 @@ buildvariants: ruby: <%= recent_rubies %> mongodb-version: <%= recent_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${os} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -78,6 +81,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 +92,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 +103,7 @@ buildvariants: topology: <%= topologies %> os: ubuntu1804 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" @@ -107,19 +113,21 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> topology: load-balanced single-mongos: single-mongos - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} single-lb ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" - matrix_name: "mongo-api-version" matrix_spec: ruby: <%= latest_ruby %> - mongodb-version: '7.0' + mongodb-version: '8.0' topology: standalone api-version-required: yes - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} api-version-required ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -129,8 +137,9 @@ buildvariants: mongodb-version: <%= latest_stable_mdb %> topology: "sharded-cluster" single-mongos: single-mongos - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} single-mongos ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -139,8 +148,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: replica-set-single-node - os: ubuntu2204 + os: ubuntu2404 display_name: "CSOT - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-csot @@ -149,8 +159,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: replica-set-single-node - os: ubuntu2204 + os: ubuntu2404 display_name: "OTel - ${mongodb-version}" + tags: ["pr"] tasks: - name: test-otel @@ -160,8 +171,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -171,8 +183,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: [replica-set, sharded-cluster] - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -182,7 +195,7 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${lint} ${ruby}" tasks: - name: "test-mlaunch" @@ -193,7 +206,7 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} fork ${ruby}" tasks: - name: "test-mlaunch" @@ -204,7 +217,7 @@ buildvariants: ruby: <%= supported_mri_rubies_3_ubuntu %> mongodb-version: <%= latest_stable_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} solo ${ruby}" tasks: - name: "test-mlaunch" @@ -226,8 +239,9 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= recent_mdb %> topology: replica-set - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} stress ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -237,7 +251,7 @@ buildvariants: # ruby: <%= latest_ruby %> # mongodb-version: <%= latest_stable_mdb %> # topology: standalone -# os: ubuntu2204 +# os: ubuntu2404 # display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" # tasks: # - name: "test-mlaunch" @@ -248,13 +262,14 @@ buildvariants: ruby: <%= jrubies.first %> mongodb-version: <%= latest_stable_mdb %> topology: <%= topologies %> - os: ubuntu2204 + os: ubuntu2404 display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}" + tags: ["pr"] tasks: - name: "run-main-test-suite" <% [ - [latest_ruby, latest_stable_mdb, 'ubuntu2204'], + [latest_ruby, latest_stable_mdb, 'ubuntu2404'], [supported_mri_ruby_2, '"6.0"', 'ubuntu2004'] ].each do |rubies, mdb, distro| %> @@ -267,6 +282,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 +295,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 +312,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 +324,7 @@ buildvariants: as: as os: <%= distro %> display_name: "AS ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" @@ -317,6 +336,7 @@ buildvariants: bson: "*" os: <%= distro %> display_name: "bson-${bson} ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-mlaunch" <% end %> @@ -326,10 +346,11 @@ buildvariants: auth-and-ssl: "noauth-and-nossl" ruby: <%= supported_mri_rubies_3_ubuntu %> topology: [replica-set, sharded-cluster] - mongodb-version: [ '6.0', '7.0', '8.0' ] + mongodb-version: [ '6.0', '7.0', '8.0', '8.2' ] os: ubuntu2204 fle: helper display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" + tags: ["pr"] tasks: - name: "test-fle" # kerberos integration tests are broken (RUBY-3266) @@ -346,7 +367,7 @@ buildvariants: ruby: <%= latest_ruby %> mongodb-version: <%= latest_stable_mdb %> topology: standalone - os: ubuntu2204 + os: ubuntu2404 auth-and-ssl: kerberos display_name: "Kerberos Tests" tasks: @@ -358,7 +379,7 @@ buildvariants: # ruby: <%#= latest_ruby %> # topology: [replica-set, sharded-cluster] # mongodb-version: [ 'latest' ] -# os: ubuntu2204 +# os: ubuntu2404 # fle: helper # display_name: "FLE: ${mongodb-version} ${topology} ${ruby}" # tasks: @@ -374,8 +395,9 @@ buildvariants: ruby: <%= latest_ruby %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}" + tags: ["pr"] tasks: - name: "test-aws-auth" @@ -386,7 +408,7 @@ buildvariants: ruby: <%= supported_mri_rubies_3_ubuntu %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 display_name: "OCSP verifier: ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -399,7 +421,7 @@ buildvariants: ruby: <%= latest_ruby %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 auth-and-ssl: noauth-and-ssl display_name: "OCSP integration - must staple: ${mongodb-version} ${ruby}" tasks: @@ -412,7 +434,7 @@ buildvariants: ruby: <%= latest_ruby %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 auth-and-ssl: noauth-and-ssl display_name: "OCSP integration - unknown: ${mongodb-version} ${ruby}" tasks: @@ -442,7 +464,7 @@ buildvariants: ruby: <%= latest_ruby %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${extra-uri-options} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -463,7 +485,7 @@ buildvariants: ruby: <%= jrubies.first %> topology: standalone mongodb-version: <%= latest_stable_mdb %> - os: ubuntu2204 + os: ubuntu2404 display_name: "OCSP connectivity: ${ocsp-algorithm} ${ocsp-status} ${ocsp-delegate} ${mongodb-version} ${ruby}" tasks: - name: test-mlaunch @@ -474,7 +496,7 @@ buildvariants: # ruby: <%= latest_ruby %> # fle: helper # topology: standalone - # os: ubuntu2204 + # os: ubuntu2404 # mongodb-version: <%= latest_stable_mdb %> # display_name: "GCP KMS" # tasks: @@ -497,7 +519,7 @@ buildvariants: - matrix_name: atlas-full matrix_spec: ruby: <%= latest_ruby %> - os: ubuntu2204 + os: ubuntu2404 display_name: "Atlas (Full)" tasks: - name: testatlas_full_task_group @@ -505,8 +527,9 @@ buildvariants: - matrix_name: "atlas" matrix_spec: ruby: <%= supported_mri_rubies_3_ubuntu %> - os: ubuntu2204 + os: ubuntu2404 display_name: "Atlas connectivity tests ${ruby}" + tags: ["pr"] tasks: - name: test-atlas @@ -514,7 +537,7 @@ buildvariants: # - matrix_name: "aws-lambda" # matrix_spec: # ruby: 'ruby-3.2' -# os: ubuntu2204 +# os: ubuntu2404 # display_name: "AWS Lambda" # tasks: # - name: test_aws_lambda_task_group diff --git a/.evergreen/find-python3.sh b/.evergreen/find-python3.sh new file mode 120000 index 0000000000..65027fd574 --- /dev/null +++ b/.evergreen/find-python3.sh @@ -0,0 +1 @@ +../.mod/drivers-evergreen-tools/.evergreen/find-python3.sh \ No newline at end of file diff --git a/.evergreen/mongosh_dl.py b/.evergreen/mongosh_dl.py new file mode 120000 index 0000000000..9a234910ec --- /dev/null +++ b/.evergreen/mongosh_dl.py @@ -0,0 +1 @@ +../.mod/drivers-evergreen-tools/.evergreen/mongosh_dl.py \ No newline at end of file diff --git a/.mod/drivers-evergreen-tools b/.mod/drivers-evergreen-tools index 9142b7055e..5514d6a1c1 160000 --- a/.mod/drivers-evergreen-tools +++ b/.mod/drivers-evergreen-tools @@ -1 +1 @@ -Subproject commit 9142b7055ea5940e59ad41c4b069376f867031da +Subproject commit 5514d6a1c1887693c898073aa31f5be98cab53ea diff --git a/gemfiles/standard.rb b/gemfiles/standard.rb index d03b9ec7f3..3e51fe0c3f 100644 --- a/gemfiles/standard.rb +++ b/gemfiles/standard.rb @@ -41,6 +41,7 @@ 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