# Build variant definitions for vanilla sanitizers that can be used across # release and dev environments. buildvariants: - name: rhel80-asan display_name: ~ ASAN RHEL 8.0 cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. run_on: - rhel80-build stepback: true expansions: lang_environment: LANG=C san_options: >- LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer" compile_flags: >- --variables-files=etc/scons/mongodbtoolchain_stable_clang.vars --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) multiversion_platform: rhel80 multiversion_edition: enterprise resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build. hang_analyzer_dump_core: false scons_cache_scope: shared test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling separate_debug: off compile_variant: rhel80-asan tasks: - name: compile_test_and_package_serial_TG - name: .aggfuzzer .common - name: free_monitoring - name: .jstestfuzz !.initsync - name: rhel80-debug-asan display_name: ~ ASAN Enterprise RHEL 8.0 DEBUG cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. modules: - enterprise run_on: - rhel80-build stepback: false expansions: additional_package_targets: >- archive-mongocryptd archive-mongocryptd-debug lang_environment: LANG=C # If you add anything to san_options, make sure the appropriate changes are # also made to SConstruct. san_options: >- LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer" compile_flags: >- --variables-files=etc/scons/mongodbtoolchain_stable_clang.vars --dbg=on --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo) test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling multiversion_platform: rhel80 multiversion_edition: enterprise resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build. hang_analyzer_dump_core: false scons_cache_scope: shared exec_timeout_secs: 14400 # 3 hour timeout separate_debug: off large_distro_name: rhel80-build compile_variant: rhel80-debug-asan tasks: - name: compile_test_benchmark_and_package_serial_TG - name: .aggregation - name: .auth - name: audit - name: .benchmarks - name: .causally_consistent !.wo_snapshot - name: .change_streams - name: .misc_js - name: .concurrency !.ubsan !.no_txns !.kill_terminate - name: .encrypt - name: free_monitoring - name: external_auth - name: external_auth_aws - name: initial_sync_fuzzer_gen - name: .integration !.standalone !.audit - name: .jscore .common - name: jsCore_min_batch_repeat_queries_ese_gsm - name: jsCore_txns_large_txns_format - name: json_schema - name: .logical_session_cache - name: .multi_shard .common - name: multiversion_gen - name: .multiversion_fuzzer - name: .multiversion_passthrough - name: .query_fuzzer - name: .random_multiversion_ds - name: .read_write_concern - name: replica_sets_large_txns_format_gen - name: replica_sets_large_txns_format_jscore_passthrough - name: .replica_sets !.multi_oplog - name: .resharding_fuzzer - name: .retry - name: .read_only - name: .rollbackfuzzer - name: .updatefuzzer - name: sasl - name: secondary_reads_passthrough_gen - name: session_jscore_passthrough - name: .sharding .jscore !.wo_snapshot - name: .sharding .common !.csrs - name: .watchdog - name: .stitch - name: .serverless - name: unittest_shell_hang_analyzer_gen - name: .updatefuzzer - name: server_discovery_and_monitoring_json_test_TG - name: server_selection_json_test_TG - name: rhel80-debug-ubsan display_name: ~ UBSAN Enterprise RHEL 8.0 DEBUG cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. modules: - enterprise run_on: - rhel80-build stepback: false expansions: additional_package_targets: >- archive-mongocryptd archive-mongocryptd-debug lang_environment: LANG=C # If you add anything to san_options, make sure the appropriate changes are # also made to SConstruct. san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer" compile_flags: >- --variables-files=etc/scons/mongodbtoolchain_stable_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo) test_flags: --excludeWithAnyTags=requires_ocsp_stapling multiversion_platform: rhel80 multiversion_edition: enterprise resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build. scons_cache_scope: shared separate_debug: off large_distro_name: rhel80-build compile_variant: rhel80-debug-ubsan tasks: - name: compile_test_benchmark_and_package_serial_TG - name: .aggregation - name: .auth - name: audit - name: .benchmarks - name: .causally_consistent !.wo_snapshot - name: .change_streams - name: .misc_js - name: .concurrency !.no_txns !.repl !.kill_terminate - name: disk_wiredtiger - name: .encrypt - name: free_monitoring - name: initial_sync_fuzzer_gen - name: .integration !.audit - name: .jscore .common - name: jsCore_min_batch_repeat_queries_ese_gsm - name: jsCore_txns_large_txns_format - name: json_schema - name: .logical_session_cache .one_sec - name: .multi_shard .common - name: multiversion_gen - name: .multiversion_fuzzer - name: .multiversion_passthrough - name: .random_multiversion_ds - name: .read_write_concern - name: replica_sets_large_txns_format_gen - name: replica_sets_large_txns_format_jscore_passthrough - name: .replica_sets !.multi_oplog - name: .resharding_fuzzer - name: .retry - name: .rollbackfuzzer - name: .read_only - name: sasl - name: secondary_reads_passthrough_gen - name: session_jscore_passthrough - name: .sharding .jscore !.wo_snapshot - name: .sharding .common !.csrs - name: .stitch - name: .updatefuzzer - name: .serverless - name: watchdog_wiredtiger - name: server_discovery_and_monitoring_json_test_TG - name: server_selection_json_test_TG