From 3819a513f933b62af5874c81a9122cc1298b26a7 Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 09:16:33 -0500 Subject: [PATCH 1/7] Enable CSFLE for sanitizer tasks --- .../config_generator/components/funcs/test.py | 1 + .../config_generator/components/sanitizers.py | 6 +- .evergreen/generated_configs/functions.yml | 1 + .evergreen/generated_configs/tasks.yml | 144 +++++------------- 4 files changed, 41 insertions(+), 111 deletions(-) diff --git a/.evergreen/config_generator/components/funcs/test.py b/.evergreen/config_generator/components/funcs/test.py index 8c65210db5..5a7eac6168 100644 --- a/.evergreen/config_generator/components/funcs/test.py +++ b/.evergreen/config_generator/components/funcs/test.py @@ -33,6 +33,7 @@ class Test(Function): 'MONGODB_API_VERSION', 'platform', 'TEST_WITH_ASAN', + 'TEST_WITH_CSFLE', 'TEST_WITH_UBSAN', 'TEST_WITH_VALGRIND', 'use_mongocryptd', diff --git a/.evergreen/config_generator/components/sanitizers.py b/.evergreen/config_generator/components/sanitizers.py index 0309c102eb..42da9ea690 100644 --- a/.evergreen/config_generator/components/sanitizers.py +++ b/.evergreen/config_generator/components/sanitizers.py @@ -57,9 +57,9 @@ def tasks(): updates += [KeyValueParam(key=key, value=value) for key, value in [('cc_compiler', cc_compiler), ('cxx_compiler', cxx_compiler)]] - icd_vars = {'SKIP_INSTALL_LIBMONGOCRYPT': 1} - compile_vars = {'ENABLE_TESTS': 'ON', 'RUN_DISTCHECK': 1} + compile_vars = {'ENABLE_TESTS': 'ON'} test_vars = { + 'TEST_WITH_CSFLE': 'ON', 'MONGOCXX_TEST_TOPOLOGY': topology, 'example_projects_cc': 'clang', 'example_projects_cxx': 'clang++', @@ -96,7 +96,7 @@ def tasks(): commands += [ Setup.call(), StartMongod.call(mongodb_version=mongodb_version, topology=topology), - InstallCDriver.call(vars=icd_vars), + InstallCDriver.call(), InstallUV.call(), Compile.call(vars=compile_vars), FetchDET.call(), diff --git a/.evergreen/generated_configs/functions.yml b/.evergreen/generated_configs/functions.yml index 16633e220a..f5681009e2 100644 --- a/.evergreen/generated_configs/functions.yml +++ b/.evergreen/generated_configs/functions.yml @@ -692,6 +692,7 @@ functions: - MONGODB_API_VERSION - platform - TEST_WITH_ASAN + - TEST_WITH_CSFLE - TEST_WITH_UBSAN - TEST_WITH_VALGRIND - use_mongocryptd diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 50b97ebf1e..f22abd833b 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -14197,13 +14197,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14211,6 +14208,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14231,13 +14229,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14245,6 +14240,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14264,13 +14260,10 @@ tasks: vars: mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14278,6 +14271,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14298,13 +14292,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14312,6 +14303,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14332,13 +14324,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14346,6 +14335,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14365,13 +14355,10 @@ tasks: vars: mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14379,6 +14366,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14399,13 +14387,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14413,6 +14398,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14433,13 +14419,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14447,6 +14430,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14466,13 +14450,10 @@ tasks: vars: mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14480,6 +14461,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14501,13 +14483,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14515,6 +14494,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14536,13 +14516,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14550,6 +14527,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14570,13 +14548,10 @@ tasks: vars: mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14584,6 +14559,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14605,13 +14581,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14619,6 +14592,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14640,13 +14614,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14654,6 +14625,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14674,13 +14646,10 @@ tasks: vars: mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14688,6 +14657,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14709,13 +14679,10 @@ tasks: TOPOLOGY: replica_set mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14723,6 +14690,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: replica TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14744,13 +14712,10 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14758,6 +14723,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: sharded TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14778,13 +14744,10 @@ tasks: vars: mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_ASAN: "ON" - func: fetch-det - func: run_kms_servers @@ -14792,6 +14755,7 @@ tasks: vars: MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" + TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer @@ -14812,19 +14776,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -14846,19 +14808,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -14879,19 +14839,17 @@ tasks: vars: mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -14913,19 +14871,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -14947,19 +14903,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -14980,19 +14934,17 @@ tasks: vars: mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15014,19 +14966,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15048,19 +14998,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15081,19 +15029,17 @@ tasks: vars: mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15116,19 +15062,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15151,19 +15095,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15185,19 +15127,17 @@ tasks: vars: mongodb_version: "4.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15220,19 +15160,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15255,19 +15193,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15289,19 +15225,17 @@ tasks: vars: mongodb_version: "8.0" - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15324,19 +15258,17 @@ tasks: TOPOLOGY: replica_set mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: replica + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15359,19 +15291,17 @@ tasks: TOPOLOGY: sharded_cluster mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: sharded + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ @@ -15393,19 +15323,17 @@ tasks: vars: mongodb_version: latest - func: install_c_driver - vars: - SKIP_INSTALL_LIBMONGOCRYPT: 1 - func: install-uv - func: compile vars: ENABLE_TESTS: "ON" - RUN_DISTCHECK: 1 USE_SANITIZER_UBSAN: "ON" - func: fetch-det - func: run_kms_servers - func: test vars: MONGOCXX_TEST_TOPOLOGY: single + TEST_WITH_CSFLE: "ON" TEST_WITH_UBSAN: "ON" example_projects_cc: clang example_projects_cxx: clang++ From 89e5d94bf0bc50eec3e967e9502ece11dd75a6bc Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 09:16:33 -0500 Subject: [PATCH 2/7] Reduce sanitizers matrix to static library linkage --- .../config_generator/components/sanitizers.py | 2 +- .evergreen/generated_configs/tasks.yml | 624 +----------------- 2 files changed, 28 insertions(+), 598 deletions(-) diff --git a/.evergreen/config_generator/components/sanitizers.py b/.evergreen/config_generator/components/sanitizers.py index 42da9ea690..d093ebdca6 100644 --- a/.evergreen/config_generator/components/sanitizers.py +++ b/.evergreen/config_generator/components/sanitizers.py @@ -22,7 +22,7 @@ # pylint: disable=line-too-long # fmt: off MATRIX = [ - ('rhel80', ['asan', 'ubsan'], ['shared', 'static'], ['4.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), + ('rhel80', ['asan', 'ubsan'], ['static'], ['4.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), ] # fmt: on # pylint: enable=line-too-long diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index f22abd833b..fad5eb3929 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -14181,9 +14181,9 @@ tasks: commands: - func: setup - func: build-package-rpm - - name: sanitizers-asan-rhel80-clang-shared-4.0-replica + - name: sanitizers-asan-rhel80-clang-static-4.0-replica run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "4.0", replica] + tags: [sanitizers, asan, rhel80, clang, static, "4.0", replica] commands: - command: expansions.update params: @@ -14191,6 +14191,7 @@ tasks: - { key: build_type, value: Debug } - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } + - { key: USE_STATIC_LIBS, value: "1" } - func: setup - func: start_mongod vars: @@ -14213,9 +14214,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-4.0-sharded + - name: sanitizers-asan-rhel80-clang-static-4.0-sharded run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "4.0", sharded] + tags: [sanitizers, asan, rhel80, clang, static, "4.0", sharded] commands: - command: expansions.update params: @@ -14223,6 +14224,7 @@ tasks: - { key: build_type, value: Debug } - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } + - { key: USE_STATIC_LIBS, value: "1" } - func: setup - func: start_mongod vars: @@ -14245,9 +14247,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-4.0-single + - name: sanitizers-asan-rhel80-clang-static-4.0-single run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "4.0", single] + tags: [sanitizers, asan, rhel80, clang, static, "4.0", single] commands: - command: expansions.update params: @@ -14255,6 +14257,7 @@ tasks: - { key: build_type, value: Debug } - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } + - { key: USE_STATIC_LIBS, value: "1" } - func: setup - func: start_mongod vars: @@ -14276,199 +14279,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-8.0-replica - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "8.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-8.0-sharded - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "8.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-8.0-single - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, "8.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-latest-replica - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, latest, replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-latest-sharded - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, latest, sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-shared-latest-single - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, shared, latest, single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-4.0-replica + - name: sanitizers-asan-rhel80-clang-static-8.0-replica run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", replica] + tags: [sanitizers, asan, rhel80, clang, static, "8.0", replica] commands: - command: expansions.update params: @@ -14481,7 +14294,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: replica_set - mongodb_version: "4.0" + mongodb_version: "8.0" - func: install_c_driver - func: install-uv - func: compile @@ -14499,9 +14312,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-4.0-sharded + - name: sanitizers-asan-rhel80-clang-static-8.0-sharded run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", sharded] + tags: [sanitizers, asan, rhel80, clang, static, "8.0", sharded] commands: - command: expansions.update params: @@ -14514,7 +14327,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: sharded_cluster - mongodb_version: "4.0" + mongodb_version: "8.0" - func: install_c_driver - func: install-uv - func: compile @@ -14532,9 +14345,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-4.0-single + - name: sanitizers-asan-rhel80-clang-static-8.0-single run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", single] + tags: [sanitizers, asan, rhel80, clang, static, "8.0", single] commands: - command: expansions.update params: @@ -14546,7 +14359,7 @@ tasks: - func: setup - func: start_mongod vars: - mongodb_version: "4.0" + mongodb_version: "8.0" - func: install_c_driver - func: install-uv - func: compile @@ -14564,9 +14377,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-8.0-replica + - name: sanitizers-asan-rhel80-clang-static-latest-replica run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "8.0", replica] + tags: [sanitizers, asan, rhel80, clang, static, latest, replica] commands: - command: expansions.update params: @@ -14579,7 +14392,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: replica_set - mongodb_version: "8.0" + mongodb_version: latest - func: install_c_driver - func: install-uv - func: compile @@ -14597,9 +14410,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-8.0-sharded + - name: sanitizers-asan-rhel80-clang-static-latest-sharded run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "8.0", sharded] + tags: [sanitizers, asan, rhel80, clang, static, latest, sharded] commands: - command: expansions.update params: @@ -14612,7 +14425,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: sharded_cluster - mongodb_version: "8.0" + mongodb_version: latest - func: install_c_driver - func: install-uv - func: compile @@ -14630,41 +14443,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-8.0-single - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "8.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - { key: USE_STATIC_LIBS, value: "1" } - - func: setup - - func: start_mongod - vars: - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-latest-replica + - name: sanitizers-asan-rhel80-clang-static-latest-single run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, latest, replica] + tags: [sanitizers, asan, rhel80, clang, static, latest, single] commands: - command: expansions.update params: @@ -14676,7 +14457,6 @@ tasks: - func: setup - func: start_mongod vars: - TOPOLOGY: replica_set mongodb_version: latest - func: install_c_driver - func: install-uv @@ -14688,363 +14468,13 @@ tasks: - func: run_kms_servers - func: test vars: - MONGOCXX_TEST_TOPOLOGY: replica + MONGOCXX_TEST_TOPOLOGY: single TEST_WITH_ASAN: "ON" TEST_WITH_CSFLE: "ON" example_projects_cc: clang example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-latest-sharded - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, latest, sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - { key: USE_STATIC_LIBS, value: "1" } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-latest-single - run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, latest, single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - { key: USE_STATIC_LIBS, value: "1" } - - func: setup - - func: start_mongod - vars: - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_ASAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_ASAN: "ON" - TEST_WITH_CSFLE: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=address - - name: sanitizers-ubsan-rhel80-clang-shared-4.0-replica - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "4.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-4.0-sharded - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "4.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-4.0-single - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "4.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-8.0-replica - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "8.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-8.0-sharded - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "8.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-8.0-single - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, "8.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - mongodb_version: "8.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-latest-replica - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, latest, replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-latest-sharded - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, latest, sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - - name: sanitizers-ubsan-rhel80-clang-shared-latest-single - run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, shared, latest, single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: /opt/mongodbtoolchain/v4/bin/clang } - - { key: cxx_compiler, value: /opt/mongodbtoolchain/v4/bin/clang++ } - - func: setup - - func: start_mongod - vars: - mongodb_version: latest - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - USE_SANITIZER_UBSAN: "ON" - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - TEST_WITH_CSFLE: "ON" - TEST_WITH_UBSAN: "ON" - example_projects_cc: clang - example_projects_cxx: clang++ - example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer - example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined - name: sanitizers-ubsan-rhel80-clang-static-4.0-replica run_on: rhel80-large tags: [sanitizers, ubsan, rhel80, clang, static, "4.0", replica] From acce0709f7704826d1435df83a638fa13e124b4c Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 09:16:33 -0500 Subject: [PATCH 3/7] Print name of test executable being executed --- .evergreen/scripts/test.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.evergreen/scripts/test.sh b/.evergreen/scripts/test.sh index bc67fd8b6c..9f6e57b818 100755 --- a/.evergreen/scripts/test.sh +++ b/.evergreen/scripts/test.sh @@ -276,7 +276,11 @@ else --allow-running-no-tests ) - run_test() { "$@" "${test_args[@]:?}"; } + run_test() { + echo "Running $@..." + "$@" "${test_args[@]:?}" || return + echo "Running $@... done." + } if [[ "${TEST_WITH_ASAN:-}" == "ON" || "${TEST_WITH_UBSAN:-}" == "ON" ]]; then export ASAN_OPTIONS="detect_leaks=1" @@ -286,7 +290,9 @@ else command -V valgrind valgrind --version run_test() { - valgrind --leak-check=full --track-origins=yes --num-callers=50 --error-exitcode=1 --error-limit=no --read-var-info=yes --suppressions=../etc/memcheck.suppressions "$@" "${test_args[@]:?}" + echo "Running $@..." + valgrind --leak-check=full --track-origins=yes --num-callers=50 --error-exitcode=1 --error-limit=no --read-var-info=yes --suppressions=../etc/memcheck.suppressions "$@" "${test_args[@]:?}" || return + echo "Running $@... done." } fi From 9d280931a77415df3833bcea06a9f3b0df01c78f Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 10:42:03 -0500 Subject: [PATCH 4/7] Pin mongoc_version_minimum to 912209d (CDRIVER-5960) --- .../config_generator/components/funcs/install_c_driver.py | 2 +- .evergreen/generated_configs/functions.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/config_generator/components/funcs/install_c_driver.py b/.evergreen/config_generator/components/funcs/install_c_driver.py index eccc96caaf..25a485d724 100644 --- a/.evergreen/config_generator/components/funcs/install_c_driver.py +++ b/.evergreen/config_generator/components/funcs/install_c_driver.py @@ -14,7 +14,7 @@ # Only MONGOC_DOWNLOAD_VERSION needs to be updated when pinning to an unreleased commit. # If pinning to an unreleased commit, create a "Blocked" JIRA ticket with # a "depends on" link to the appropriate C Driver version release ticket. -MONGOC_VERSION_MINIMUM = '2.0.2' +MONGOC_VERSION_MINIMUM = '912209d5dc985758bc3d70b105dc5166e3ded7c3' # TODO: bump to 2.1.0 once released. class InstallCDriver(Function): diff --git a/.evergreen/generated_configs/functions.yml b/.evergreen/generated_configs/functions.yml index f5681009e2..e41e593ff6 100644 --- a/.evergreen/generated_configs/functions.yml +++ b/.evergreen/generated_configs/functions.yml @@ -483,7 +483,7 @@ functions: type: setup params: updates: - - { key: mongoc_version_minimum, value: 2.0.2 } + - { key: mongoc_version_minimum, value: 912209d5dc985758bc3d70b105dc5166e3ded7c3 } - command: subprocess.exec type: setup params: From ddf276f6612fa1dc59127e3e7135718317c2c76f Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 11:22:02 -0500 Subject: [PATCH 5/7] Bump minimum server version from 4.0 to 4.2 (CDRIVER-5956) --- .../components/integration.py | 3 +- .../config_generator/components/sanitizers.py | 2 +- .../config_generator/components/valgrind.py | 2 +- .evergreen/generated_configs/tasks.yml | 386 ++---------------- 4 files changed, 30 insertions(+), 363 deletions(-) diff --git a/.evergreen/config_generator/components/integration.py b/.evergreen/config_generator/components/integration.py index c4bc19103a..3427551460 100644 --- a/.evergreen/config_generator/components/integration.py +++ b/.evergreen/config_generator/components/integration.py @@ -24,8 +24,7 @@ LINUX_MATRIX = [ # Linux x86_64 (full). # RHEL 8 x86_64: 4.0+. - ('rhel80', None, ['Debug'], ['shared', 'static'], [11, 17], [None], ['plain', 'csfle'], [ '4.2', '4.4', '5.0', '6.0', '7.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), - ('rhel80', None, ['Debug'], ['shared', 'static'], [11, 17], [None], ['plain', ], ['4.0', ], ['single', 'replica', 'sharded']), # CSFLE: 4.2+. + ('rhel80', None, ['Debug'], ['shared', 'static'], [11, 17], [None], ['plain', 'csfle'], ['4.2', '4.4', '5.0', '6.0', '7.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), # Linux ARM64 (full). # Linux ARM64: 4.4+. diff --git a/.evergreen/config_generator/components/sanitizers.py b/.evergreen/config_generator/components/sanitizers.py index d093ebdca6..f02efbd0e1 100644 --- a/.evergreen/config_generator/components/sanitizers.py +++ b/.evergreen/config_generator/components/sanitizers.py @@ -22,7 +22,7 @@ # pylint: disable=line-too-long # fmt: off MATRIX = [ - ('rhel80', ['asan', 'ubsan'], ['static'], ['4.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), + ('rhel80', ['asan', 'ubsan'], ['static'], ['4.2', '8.0', 'latest'], ['single', 'replica', 'sharded']), ] # fmt: on # pylint: enable=line-too-long diff --git a/.evergreen/config_generator/components/valgrind.py b/.evergreen/config_generator/components/valgrind.py index 48140b8a0b..3e0085bd5e 100644 --- a/.evergreen/config_generator/components/valgrind.py +++ b/.evergreen/config_generator/components/valgrind.py @@ -23,7 +23,7 @@ # fmt: off MATRIX = [ # min-max-latest - ('rhel80', None, ['shared'], ['4.0', '8.0', 'latest'], ['single', 'replica', 'sharded']), + ('rhel80', None, ['shared'], ['4.2', '8.0', 'latest'], ['single', 'replica', 'sharded']), ] # fmt: on # pylint: enable=line-too-long diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index fad5eb3929..0b8d8ee2c2 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -3853,86 +3853,6 @@ tasks: TEST_WITH_CSFLE: "ON" example_projects_cxx_standard: 11 use_mongocryptd: true - - name: integration-rhel80-debug-shared-cxx11-4.0-replica - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx11, "4.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - REQUIRED_CXX_STANDARD: 11 - example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-shared-cxx11-4.0-sharded - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx11, "4.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - REQUIRED_CXX_STANDARD: 11 - example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-shared-cxx11-4.0-single - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx11, "4.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - REQUIRED_CXX_STANDARD: 11 - example_projects_cxx_standard: 11 - name: integration-rhel80-debug-shared-cxx11-4.2-replica run_on: rhel80-large tags: [integration, rhel80, linux, debug, shared, cxx11, "4.2", replica] @@ -5103,86 +5023,6 @@ tasks: MONGOCXX_TEST_TOPOLOGY: single REQUIRED_CXX_STANDARD: 11 example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-shared-cxx17-4.0-replica - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx17, "4.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - REQUIRED_CXX_STANDARD: 17 - example_projects_cxx_standard: 17 - - name: integration-rhel80-debug-shared-cxx17-4.0-sharded - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx17, "4.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - REQUIRED_CXX_STANDARD: 17 - example_projects_cxx_standard: 17 - - name: integration-rhel80-debug-shared-cxx17-4.0-single - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, shared, cxx17, "4.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - REQUIRED_CXX_STANDARD: 17 - example_projects_cxx_standard: 17 - name: integration-rhel80-debug-shared-cxx17-4.2-replica run_on: rhel80-large tags: [integration, rhel80, linux, debug, shared, cxx17, "4.2", replica] @@ -6324,92 +6164,6 @@ tasks: MONGOCXX_TEST_TOPOLOGY: single REQUIRED_CXX_STANDARD: 17 example_projects_cxx_standard: 17 - - name: integration-rhel80-debug-static-cxx11-4.0-replica - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx11, "4.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - REQUIRED_CXX_STANDARD: 11 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-static-cxx11-4.0-sharded - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx11, "4.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - REQUIRED_CXX_STANDARD: 11 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-static-cxx11-4.0-single - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx11, "4.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 11 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - REQUIRED_CXX_STANDARD: 11 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 11 - name: integration-rhel80-debug-static-cxx11-4.2-replica run_on: rhel80-large tags: [integration, rhel80, linux, debug, static, cxx11, "4.2", replica] @@ -7635,92 +7389,6 @@ tasks: REQUIRED_CXX_STANDARD: 11 USE_STATIC_LIBS: 1 example_projects_cxx_standard: 11 - - name: integration-rhel80-debug-static-cxx17-4.0-replica - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx17, "4.0", replica] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: replica_set - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: replica - REQUIRED_CXX_STANDARD: 17 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 17 - - name: integration-rhel80-debug-static-cxx17-4.0-sharded - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx17, "4.0", sharded] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - TOPOLOGY: sharded_cluster - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: sharded - REQUIRED_CXX_STANDARD: 17 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 17 - - name: integration-rhel80-debug-static-cxx17-4.0-single - run_on: rhel80-large - tags: [integration, rhel80, linux, debug, static, cxx17, "4.0", single] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - func: setup - - func: start_mongod - vars: - mongodb_version: "4.0" - - func: install_c_driver - - func: install-uv - - func: compile - vars: - ENABLE_TESTS: "ON" - REQUIRED_CXX_STANDARD: 17 - RUN_DISTCHECK: 1 - USE_STATIC_LIBS: 1 - - func: fetch-det - - func: run_kms_servers - - func: test - vars: - MONGOCXX_TEST_TOPOLOGY: single - REQUIRED_CXX_STANDARD: 17 - USE_STATIC_LIBS: 1 - example_projects_cxx_standard: 17 - name: integration-rhel80-debug-static-cxx17-4.2-replica run_on: rhel80-large tags: [integration, rhel80, linux, debug, static, cxx17, "4.2", replica] @@ -14181,9 +13849,9 @@ tasks: commands: - func: setup - func: build-package-rpm - - name: sanitizers-asan-rhel80-clang-static-4.0-replica + - name: sanitizers-asan-rhel80-clang-static-4.2-replica run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", replica] + tags: [sanitizers, asan, rhel80, clang, static, "4.2", replica] commands: - command: expansions.update params: @@ -14196,7 +13864,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: replica_set - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -14214,9 +13882,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-4.0-sharded + - name: sanitizers-asan-rhel80-clang-static-4.2-sharded run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", sharded] + tags: [sanitizers, asan, rhel80, clang, static, "4.2", sharded] commands: - command: expansions.update params: @@ -14229,7 +13897,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: sharded_cluster - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -14247,9 +13915,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-asan-rhel80-clang-static-4.0-single + - name: sanitizers-asan-rhel80-clang-static-4.2-single run_on: rhel80-large - tags: [sanitizers, asan, rhel80, clang, static, "4.0", single] + tags: [sanitizers, asan, rhel80, clang, static, "4.2", single] commands: - command: expansions.update params: @@ -14261,7 +13929,7 @@ tasks: - func: setup - func: start_mongod vars: - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -14475,9 +14143,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=address -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=address - - name: sanitizers-ubsan-rhel80-clang-static-4.0-replica + - name: sanitizers-ubsan-rhel80-clang-static-4.2-replica run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, static, "4.0", replica] + tags: [sanitizers, ubsan, rhel80, clang, static, "4.2", replica] commands: - command: expansions.update params: @@ -14490,7 +14158,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: replica_set - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -14508,9 +14176,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined -static-libsan - - name: sanitizers-ubsan-rhel80-clang-static-4.0-sharded + - name: sanitizers-ubsan-rhel80-clang-static-4.2-sharded run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, static, "4.0", sharded] + tags: [sanitizers, ubsan, rhel80, clang, static, "4.2", sharded] commands: - command: expansions.update params: @@ -14523,7 +14191,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: sharded_cluster - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -14541,9 +14209,9 @@ tasks: example_projects_cxx: clang++ example_projects_cxxflags: -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer example_projects_ldflags: -fsanitize=undefined -fno-sanitize-recover=undefined -static-libsan - - name: sanitizers-ubsan-rhel80-clang-static-4.0-single + - name: sanitizers-ubsan-rhel80-clang-static-4.2-single run_on: rhel80-large - tags: [sanitizers, ubsan, rhel80, clang, static, "4.0", single] + tags: [sanitizers, ubsan, rhel80, clang, static, "4.2", single] commands: - command: expansions.update params: @@ -14555,7 +14223,7 @@ tasks: - func: setup - func: start_mongod vars: - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver - func: install-uv - func: compile @@ -15009,9 +14677,9 @@ tasks: generator: Visual Studio 15 2017 platform: x64 - func: uninstall-check - - name: valgrind-rhel80-shared-4.0-replica + - name: valgrind-rhel80-shared-4.2-replica run_on: rhel80-large - tags: [valgrind, rhel80, shared, "4.0", replica] + tags: [valgrind, rhel80, shared, "4.2", replica] commands: - command: expansions.update params: @@ -15021,7 +14689,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: replica_set - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver vars: SKIP_INSTALL_LIBMONGOCRYPT: 1 @@ -15038,9 +14706,9 @@ tasks: TEST_WITH_VALGRIND: "ON" disable_slow_tests: 1 use_mongocryptd: true - - name: valgrind-rhel80-shared-4.0-sharded + - name: valgrind-rhel80-shared-4.2-sharded run_on: rhel80-large - tags: [valgrind, rhel80, shared, "4.0", sharded] + tags: [valgrind, rhel80, shared, "4.2", sharded] commands: - command: expansions.update params: @@ -15050,7 +14718,7 @@ tasks: - func: start_mongod vars: TOPOLOGY: sharded_cluster - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver vars: SKIP_INSTALL_LIBMONGOCRYPT: 1 @@ -15067,9 +14735,9 @@ tasks: TEST_WITH_VALGRIND: "ON" disable_slow_tests: 1 use_mongocryptd: true - - name: valgrind-rhel80-shared-4.0-single + - name: valgrind-rhel80-shared-4.2-single run_on: rhel80-large - tags: [valgrind, rhel80, shared, "4.0", single] + tags: [valgrind, rhel80, shared, "4.2", single] commands: - command: expansions.update params: @@ -15078,7 +14746,7 @@ tasks: - func: setup - func: start_mongod vars: - mongodb_version: "4.0" + mongodb_version: "4.2" - func: install_c_driver vars: SKIP_INSTALL_LIBMONGOCRYPT: 1 From e9b2a3277a1af630a6a88af987458dd325207416 Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 12:20:25 -0500 Subject: [PATCH 6/7] Update MONGOC_VERSION_MINIMUM to better document current practices --- .../config_generator/components/funcs/install_c_driver.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.evergreen/config_generator/components/funcs/install_c_driver.py b/.evergreen/config_generator/components/funcs/install_c_driver.py index 25a485d724..94af9fbdc5 100644 --- a/.evergreen/config_generator/components/funcs/install_c_driver.py +++ b/.evergreen/config_generator/components/funcs/install_c_driver.py @@ -7,11 +7,10 @@ from typing import Mapping -# If updating mongoc_version_minimum, also update: +# If updating mongoc_version_minimum to a new release (not pinning to an unreleased commit), also update: # - BSON_REQUIRED_VERSION and MONGOC_REQUIRED_VERSION in CMakeLists.txt # - the version of pkg:github/mongodb/mongo-c-driver in etc/purls.txt # - the default value of --c-driver-build-ref in etc/make_release.py -# Only MONGOC_DOWNLOAD_VERSION needs to be updated when pinning to an unreleased commit. # If pinning to an unreleased commit, create a "Blocked" JIRA ticket with # a "depends on" link to the appropriate C Driver version release ticket. MONGOC_VERSION_MINIMUM = '912209d5dc985758bc3d70b105dc5166e3ded7c3' # TODO: bump to 2.1.0 once released. From 2e10f22964ddde7f20951d4636768551552d4659 Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Wed, 30 Jul 2025 12:21:33 -0500 Subject: [PATCH 7/7] CXX-3259 drop support for MongoDB Server 4.2 --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ff4f8a911..f12f5d3b2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,8 @@ Changes prior to 3.9.0 are documented as [release notes on GitHub](https://githu ### Changed +- Bump the minimum required C Driver version to [2.1.0](https://github.com/mongodb/mongo-c-driver/releases/tag/2.1.0). - CMake 3.16.0 or newer is required when `ENABLE_TESTS=ON` for compatibility with the updated Catch2 library version (3.7.0 -> 3.8.1). -- Bump the minimum required C Driver version to [2.0.2](https://github.com/mongodb/mongo-c-driver/releases/tag/2.0.2). - Minimum supported compiler versions to build from source are updated to the following: - GCC 8.1 (from GCC 4.8.2). - Users on RHEL 7 may consult Red Hat's ["Hello World - installing GCC on RHEL 7"](https://developers.redhat.com/HW/gcc-RHEL-7) or ["How to install GCC 8 and Clang/LLVM 6 on Red Hat Enterprise Linux 7"](https://developers.redhat.com/blog/2019/03/05/yum-install-gcc-8-clang-6) for instructions on how to obtain GCC 8 or newer. @@ -25,6 +25,12 @@ Changes prior to 3.9.0 are documented as [release notes on GitHub](https://githu - Apple Clang 13.1 with Xcode 13.4.1 (from Apple Clang 5.1 with Xcode 5.1). - MSVC 19.0.24210 with Visual Studio 2015 Update 3 (from MSVC 19.0.23506 with Visual Studio 2015 Update 1). +### Removed + +- Support for MongoDB Server 4.2. + - See: [MongoDB Software Lifecycle Schedules](https://www.mongodb.com/legal/support-policy/lifecycles). + - See: [MongoDB C Driver 2.1.0 Release Notes](https://github.com/mongodb/mongo-c-driver/releases/tag/2.1.0). + ## 4.1.1 ### Fixed