Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 19 additions & 13 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,10 @@ axes:
- id: "mongodb-version"
display_name: MongoDB Version
values:
- id: "rapid"
display_name: "Rapid"
variables:
MONGODB_VERSION: "rapid"
- id: "8.0"
display_name: "8.0"
variables:
Expand Down Expand Up @@ -1245,7 +1249,7 @@ buildvariants:
- matrix_name: "single-lb"
matrix_spec:
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: load-balanced
single-mongos: single-mongos
os: ubuntu2204
Expand All @@ -1269,7 +1273,7 @@ buildvariants:
- matrix_name: "single-mongos"
matrix_spec:
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: "sharded-cluster"
single-mongos: single-mongos
os: ubuntu2204
Expand All @@ -1281,7 +1285,7 @@ buildvariants:
- matrix_name: CSOT
matrix_spec:
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: replica-set-single-node
os: ubuntu2204
display_name: "CSOT - ${mongodb-version}"
Expand All @@ -1304,7 +1308,7 @@ buildvariants:
matrix_spec:
retry-reads: no-retry-reads
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: ["standalone", "replica-set", "sharded-cluster"]
os: ubuntu2204
display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}"
Expand All @@ -1316,7 +1320,7 @@ buildvariants:
matrix_spec:
retry-writes: no-retry-writes
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: [replica-set, sharded-cluster]
os: ubuntu2204
display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}"
Expand Down Expand Up @@ -1406,7 +1410,7 @@ buildvariants:
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: "replica-set"
compressor: 'zlib'
os: ubuntu2204
Expand All @@ -1419,7 +1423,7 @@ buildvariants:
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: "replica-set"
compressor: 'snappy'
os: ubuntu2204
Expand All @@ -1436,7 +1440,7 @@ buildvariants:
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: "replica-set"
compressor: 'zstd'
os: ubuntu2204
Expand All @@ -1448,7 +1452,7 @@ buildvariants:
- matrix_name: activesupport-"ruby-4.0"
matrix_spec:
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: replica-set
as: as
os: ubuntu2204
Expand All @@ -1460,7 +1464,7 @@ buildvariants:
- matrix_name: bson-"ruby-4.0"
matrix_spec:
ruby: "ruby-4.0"
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
topology: replica-set
bson: "*"
os: ubuntu2204
Expand Down Expand Up @@ -1535,12 +1539,12 @@ buildvariants:
tasks:
- name: "test-mlaunch"

- matrix_name: "fle above 4.4"
- matrix_name: "fle"
matrix_spec:
auth-and-ssl: "noauth-and-nossl"
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', 'rapid' ]
os: ubuntu2204
fle: helper
display_name: "FLE: ${mongodb-version} ${topology} ${ruby}"
Expand Down Expand Up @@ -1571,6 +1575,8 @@ buildvariants:
# tasks:
# - name: "test-fle"

# Runs specs against the latest server. This is not automatically run on PR's
# because we don't want to block PR's when the latest DB breaks something.
- name: 'latest-server'
activate: false
display_name: 'Latest MongoDB Server'
Expand All @@ -1592,7 +1598,7 @@ buildvariants:
auth-and-ssl: [ aws-regular, aws-assume-role, aws-web-identity ]
ruby: "ruby-4.0"
topology: standalone
mongodb-version: "8.0"
mongodb-version: ["8.0", "rapid"]
os: ubuntu2204
display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}"
tags: ["pr"]
Expand Down
4 changes: 4 additions & 0 deletions .evergreen/config/axes.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ axes:
- id: "mongodb-version"
display_name: MongoDB Version
values:
- id: "rapid"
display_name: "Rapid"
variables:
MONGODB_VERSION: "rapid"
- id: "8.0"
display_name: "8.0"
variables:
Expand Down
25 changes: 15 additions & 10 deletions .evergreen/config/standard.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@
jrubies

# The latest stable version of MongoDB
latest_stable_mdb = "8.0".inspect # so it gets quoted as a string
latest_stable_mdb_raw = "8.0"
latest_stable_mdb = latest_stable_mdb_raw.inspect # so it gets quoted as a string

stable_and_rapid = [ latest_stable_mdb_raw, "rapid" ]

recent_mdb = %w( 8.0 7.0 )
%>
Expand Down Expand Up @@ -112,7 +115,7 @@ buildvariants:
- matrix_name: "single-lb"
matrix_spec:
ruby: <%= latest_ruby %>
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
topology: load-balanced
single-mongos: single-mongos
os: ubuntu2204
Expand All @@ -136,7 +139,7 @@ buildvariants:
- matrix_name: "single-mongos"
matrix_spec:
ruby: <%= latest_ruby %>
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
topology: "sharded-cluster"
single-mongos: single-mongos
os: ubuntu2204
Expand All @@ -148,7 +151,7 @@ buildvariants:
- matrix_name: CSOT
matrix_spec:
ruby: <%= latest_ruby %>
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
topology: replica-set-single-node
os: ubuntu2204
display_name: "CSOT - ${mongodb-version}"
Expand All @@ -171,7 +174,7 @@ buildvariants:
matrix_spec:
retry-reads: no-retry-reads
ruby: <%= latest_ruby %>
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
topology: <%= topologies %>
os: ubuntu2204
display_name: "${mongodb-version} ${topology} ${retry-reads} ${ruby}"
Expand All @@ -183,7 +186,7 @@ buildvariants:
matrix_spec:
retry-writes: no-retry-writes
ruby: <%= latest_ruby %>
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
topology: [replica-set, sharded-cluster]
os: ubuntu2204
display_name: "${mongodb-version} ${topology} ${retry-writes} ${ruby}"
Expand Down Expand Up @@ -270,7 +273,7 @@ buildvariants:
- name: "run-main-test-suite"

<% [
[latest_ruby, latest_stable_mdb, 'ubuntu2204'],
[latest_ruby, stable_and_rapid, 'ubuntu2204'],
[supported_mri_ruby_2, '"6.0"', 'ubuntu2004']
].each do |rubies, mdb, distro|
%>
Expand Down Expand Up @@ -342,12 +345,12 @@ buildvariants:
- name: "test-mlaunch"
<% end %>

- matrix_name: "fle above 4.4"
- matrix_name: "fle"
matrix_spec:
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', 'rapid' ]
os: ubuntu2204
fle: helper
display_name: "FLE: ${mongodb-version} ${topology} ${ruby}"
Expand Down Expand Up @@ -378,6 +381,8 @@ buildvariants:
# tasks:
# - name: "test-fle"

# Runs specs against the latest server. This is not automatically run on PR's
# because we don't want to block PR's when the latest DB breaks something.
- name: 'latest-server'
activate: false
display_name: 'Latest MongoDB Server'
Expand All @@ -399,7 +404,7 @@ buildvariants:
auth-and-ssl: [ aws-regular, aws-assume-role, aws-web-identity ]
ruby: <%= latest_ruby %>
topology: standalone
mongodb-version: <%= latest_stable_mdb %>
mongodb-version: <%= stable_and_rapid %>
os: ubuntu2204
display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}"
tags: ["pr"]
Expand Down
1 change: 1 addition & 0 deletions .evergreen/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ prepare_server

if test "$DOCKER_PRELOAD" != 1; then
install_mlaunch_venv
pip3 install waitress
fi

# Make sure cmake is installed (in case we need to install the libmongocrypt
Expand Down
2 changes: 1 addition & 1 deletion .mod/drivers-evergreen-tools
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@
)
end

# 6.0 mongocrypt expects a JSON-compatible error message from the KMS, but
# the mock KMS server returns an HTML error page.
let(:affected_by_mock_kms_server_change) do
(kms_provider == 'azure' || kms_provider == 'gcp') &&
ClusterConfig.instance.server_version < '7.0'
end

let(:client_encryption_no_client_cert) do
Mongo::ClientEncryption.new(
client,
Expand Down Expand Up @@ -314,7 +321,7 @@
end

it 'raises KmsError directly without wrapping CryptError' do
if should_raise_with_tls
if should_raise_with_tls && !affected_by_mock_kms_server_change
begin
client_encryption_with_tls.create_data_key(
kms_provider,
Expand Down
15 changes: 15 additions & 0 deletions spec/support/crypt.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,21 @@ module Crypt

# For all FLE-related tests
shared_context 'define shared FLE helpers' do
# SERVER-118428 -- mongocryptd rejects large messages
# DRIVERS-3382 -- once SERVER-118428 is fixed, remove these checks
before do
if extra_options[:mongocryptd_uri]
version = ClusterConfig.instance.server_version
bad_mongocryptd = case version
when /^8\.2/ then version >= '8.2.4'
when /^8\.0/ then version >= '8.0.18'
when /^7\.0/ then version >= '7.0.29'
else false
end
skip 'Bad mongocryptd version -- see DRIVERS-3382' if bad_mongocryptd
end
end

# 96-byte binary string, base64-encoded local master key
let(:local_master_key_b64) do
Crypt::LOCAL_MASTER_KEY_B64
Expand Down
Loading