298 lines
11 KiB
YAML
298 lines
11 KiB
YAML
### Build variants for Evergreen compile task groups and static analysis tasks that are shared across 2 or more
|
|
### variants. These are placed in a standalone file to better track compile volume.
|
|
|
|
variables:
|
|
- &generic_linux_compile_params # Essential set of compile parameters used for Linux dev variants.
|
|
run_on:
|
|
- rhel80-xlarge
|
|
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: generate_buildid_to_debug_symbols_mapping
|
|
|
|
- &generic_linux_compile_expansions # The most commonly used compile expansions.
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
has_packages: false
|
|
|
|
- &linux-x86-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
|
|
run_on:
|
|
- rhel80-xlarge
|
|
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
|
|
modules:
|
|
- enterprise
|
|
stepback: false
|
|
|
|
- &linux-x86-dynamic-compile-expansions
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
has_packages: false
|
|
compile_flags: >-
|
|
--ssl
|
|
MONGO_DISTMOD=rhel80
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars
|
|
--link-model=dynamic
|
|
|
|
- &linux-arm64-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
|
|
run_on:
|
|
- amazon2-arm64-large
|
|
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
|
|
modules:
|
|
- enterprise
|
|
stepback: false
|
|
|
|
- &linux-arm64-dynamic-compile-expansions
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
has_packages: false
|
|
compile_flags: >-
|
|
--ssl
|
|
MONGO_DISTMOD=amazon2
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars
|
|
--link-model=dynamic
|
|
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
# and also to the san_options in evergreen.yml and sanitizer.yml
|
|
- aubsan_options: &aubsan_options
|
|
>-
|
|
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer"
|
|
LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
|
|
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"
|
|
|
|
|
|
buildvariants:
|
|
- <<: *linux-x86-dynamic-compile-params
|
|
name: &linux-x86-dynamic-compile linux-x86-dynamic-compile
|
|
display_name: "* Linux x86 Shared Library"
|
|
expansions:
|
|
<<: *linux-x86-dynamic-compile-expansions
|
|
compile_variant: *linux-x86-dynamic-compile
|
|
tasks:
|
|
- name: compile_ninja_quick_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: compile_integration_and_test_parallel_stream_TG
|
|
- name: generate_buildid_to_debug_symbols_mapping
|
|
- name: run_pretty_printer_tests
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: server_selection_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
|
|
- <<: *generic_linux_compile_params
|
|
name: &linux-x86-dynamic-compile-future-tag-multiversion linux-x86-dynamic-compile-future-tag-multiversion
|
|
display_name: "Linux x86 Shared Library Compile (future git tag multiversion)"
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
<<: *linux-x86-dynamic-compile-expansions
|
|
bv_future_git_tag: r100.0.0-9999
|
|
compile_variant: *linux-x86-dynamic-compile-future-tag-multiversion
|
|
depends_on:
|
|
- name: version_expansions_gen
|
|
variant: enterprise-rhel-80-64-bit-future-git-tag-multiversion-version-gen
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
|
|
- <<: *generic_linux_compile_params
|
|
name: &linux-x86-dynamic-debug-compile-required linux-x86-dynamic-debug-compile-required # TODO: replace with Sanitizer.
|
|
display_name: "! Linux x86 Shared Library DEBUG Compile"
|
|
stepback: false
|
|
expansions: &linux_debug_compile_expansions
|
|
<<: *generic_linux_compile_expansions
|
|
compile_flags: >-
|
|
--dbg=on
|
|
--opt=on
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars
|
|
--enable-free-mon=on
|
|
--enable-http-client=on
|
|
--link-model=dynamic
|
|
num_scons_link_jobs_available: 0.99
|
|
compile_variant: *linux-x86-dynamic-debug-compile-required
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: generate_buildid_to_debug_symbols_mapping
|
|
|
|
- <<: *generic_linux_compile_params
|
|
name: &linux-x86-dynamic-debug-wtdevelop-compile linux-x86-dynamic-debug-wtdevelop-compile
|
|
display_name: "~ Linux WiredTiger develop DEBUG Compile"
|
|
activate: false
|
|
modules:
|
|
- wtdevelop
|
|
expansions:
|
|
<<: *linux_debug_compile_expansions
|
|
use_wt_develop: true
|
|
compile_variant: *linux-x86-dynamic-debug-wtdevelop-compile
|
|
|
|
- <<: *generic_linux_compile_params
|
|
name: &linux-debug-aubsan-compile-required linux-debug-aubsan-compile-required
|
|
display_name: "! Linux x86 Shared Library {A,UB}SAN Enterprise Compile"
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
<<: *generic_linux_compile_expansions
|
|
separate_debug: off
|
|
san_options: *aubsan_options
|
|
compile_flags: >-
|
|
--variables-files=etc/scons/mongodbtoolchain_stable_clang.vars
|
|
--dbg=on
|
|
--opt=on
|
|
--allocator=system
|
|
--sanitize=undefined,address
|
|
--ssl
|
|
--ocsp-stapling=off
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--link-model=dynamic
|
|
--enable-free-mon=on
|
|
compile_variant: *linux-debug-aubsan-compile-required
|
|
|
|
- <<: *linux-x86-dynamic-compile-params
|
|
name: &linux-stitch-compile-suggested linux-stitch-compile-suggested
|
|
display_name: "* Linux x86 Stitch Enterprise Compile"
|
|
expansions:
|
|
<<: *linux-x86-dynamic-compile-expansions
|
|
compile_variant: *linux-stitch-compile-suggested
|
|
tasks:
|
|
- name: .stitch
|
|
|
|
- <<: *linux-x86-dynamic-compile-params
|
|
name: &linux-crypt-compile linux-crypt-compile
|
|
display_name: "* Linux x86 Crypt Enterprise Compile"
|
|
expansions:
|
|
<<: *linux-x86-dynamic-compile-expansions
|
|
crypt_task_compile_flags: >-
|
|
SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic
|
|
-Wl,--no-gnu-unique"
|
|
CCFLAGS="-fno-gnu-unique"
|
|
compile_variant: *linux-crypt-compile
|
|
tasks:
|
|
- name: .crypt
|
|
- name: crypt_build_debug_and_test
|
|
|
|
- name: &windows-compile-required windows-compile-required
|
|
display_name: "! Windows Compile"
|
|
run_on:
|
|
- windows-vsCurrent-xlarge
|
|
modules:
|
|
- enterprise
|
|
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
|
|
expansions:
|
|
exe: ".exe"
|
|
ext: zip
|
|
additional_package_targets: >-
|
|
archive-mongocryptd
|
|
archive-mongocryptd-debug
|
|
msi
|
|
archive-mh
|
|
archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: >-
|
|
--ssl
|
|
MONGO_DISTMOD=windows
|
|
CPPPATH="c:/sasl/include"
|
|
LIBPATH="c:/sasl/lib"
|
|
-j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.8")
|
|
--win-version-min=win10
|
|
num_scons_link_jobs_available: 0.2
|
|
python: '/cygdrive/c/python/python39/python.exe'
|
|
scons_cache_scope: shared
|
|
compile_variant: *windows-compile-required
|
|
tasks:
|
|
- name: compile_ninja_quick_TG
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: compile_build_tools_next_TG
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
- name: .crypt
|
|
|
|
- <<: *linux-arm64-dynamic-compile-params
|
|
name: &amazon-linux2-arm64-compile amazon-linux2-arm64-compile
|
|
display_name: "! Amazon Linux 2 arm64 Shared Library Compile & Static Analysis"
|
|
expansions:
|
|
<<: *linux-arm64-dynamic-compile-expansions
|
|
clang_tidy_toolchain: v4
|
|
compile_variant: *amazon-linux2-arm64-compile
|
|
tasks:
|
|
- name: clang_tidy_TG
|
|
distros:
|
|
- amazon2-arm64-xlarge
|
|
- name: compile_ninja_quick_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: compile_integration_and_test_parallel_stream_TG
|
|
- name: generate_buildid_to_debug_symbols_mapping
|
|
- name: iwyu_self_test_TG
|
|
- name: .lint
|
|
- name: resmoke_validation_tests
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
- name: run_pretty_printer_tests
|
|
|
|
- <<: *linux-arm64-dynamic-compile-params
|
|
name: &amazon-linux2-arm64-crypt-compile amazon-linux2-arm64-crypt-compile
|
|
display_name: "! Amazon Linux 2 arm64 Crypt Compile"
|
|
expansions:
|
|
<<: *linux-arm64-dynamic-compile-expansions
|
|
compile_variant: *amazon-linux2-arm64-crypt-compile
|
|
tasks:
|
|
- name: .crypt
|
|
- name: crypt_build_debug_and_test
|
|
|
|
- <<: *linux-arm64-dynamic-compile-params
|
|
name: &amazon-linux2-arm64-stitch-compile amazon-linux2-arm64-stitch-compile
|
|
display_name: "* Amazon Linux 2 arm64 Stitch Compile"
|
|
expansions:
|
|
<<: *linux-arm64-dynamic-compile-expansions
|
|
compile_variant: *amazon-linux2-arm64-stitch-compile
|
|
tasks:
|
|
- name: .stitch
|
|
|
|
- <<: *generic_linux_compile_params
|
|
name: &linux-x86-dynamic-grpc-suggested linux-x86-dynamic-grpc-suggested
|
|
display_name: "* Linux x86 Shared Library with GRPC"
|
|
modules:
|
|
- enterprise
|
|
stepback: false
|
|
expansions:
|
|
<<: *generic_linux_compile_expansions
|
|
compile_flags: >-
|
|
--ssl
|
|
MONGO_DISTMOD=rhel80
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars
|
|
--link-model=dynamic
|
|
ENABLE_GRPC_BUILD=1
|
|
compile_variant: *linux-x86-dynamic-grpc-suggested
|
|
clang_tidy_toolchain: v4
|
|
test_flags: >-
|
|
--mongosSetParameters="{featureFlagGRPC: true}"
|
|
--mongodSetParameters="{featureFlagGRPC: true}"
|
|
tasks:
|
|
- name: compile_ninja_quick_TG
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
- name: generate_buildid_to_debug_symbols_mapping
|
|
- name: .jscore .common
|
|
- name: .lint
|
|
- name: libdeps_graph_linting_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: clang_tidy_TG
|
|
distros:
|
|
- rhel80-xxlarge
|