0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-28 07:59:02 +01:00
mongodb/etc/evergreen.yml

11619 lines
366 KiB
YAML

#####################################################
# YAML Conventions #
#####################################################
# Please see our conventions document at
# https://wiki.corp.mongodb.com/pages/viewpage.action?pageId=133273894
# for help navigating this document, or for help with our lint rules.
#####################################################
# A note on expansions #
#####################################################
# Expansions usually appear in the form ${key|default}
# If 'key' is found in the executor's map of currently known
# expansions, the corresponding value is used. If the key can
# not be found, the default is used.
#
# Arbitrary expansions can be specified in the YAML configuration
# files in the following places:
# - The 'expansions' field for buildvariants (branch file)
# - The 'expansions' field for distros (distros file)
#
# A number of 'built-in' expansions are also available for use; these include:
# - environment variables available on the host machine
# - 'workdir' (references the executor's work directory).
# - 'task_id' (references the task id of the task the executor is working on).
# - 'build_variant' (references the executing task's buildvariant).
# - 'config_root' (references the root directory for the executor's configuration artifacts).
#####################################################
# Setup environment in a new task #
#####################################################
# There are several ways to setup the environment in your task.
#
# 1. If your task depends on 'archive_dist_test'/'archive_dist_test_debug' task you can call the function "do setup"
# - func: "do setup"
# Or alternatively call the functions in the sequence below, if you don't need everything else from "do setup"
# - func: "fetch artifacts" (includes python, shell scripts, jstests etc. from the mongo and enterprise repos)
# - func: "f_expansions_write"
# - func: "kill processes"
# - func: "cleanup environment"
# - func: "set up venv"
#
# 2. If your task does not depend on 'archive_dist_test'/'archive_dist_test_debug' task use the following functions
# call sequence
# - command: manifest.load
# - func: "git get project" (clone the entire mongo and enterprise repos)
# - func: "f_expansions_write"
# - func: "kill processes"
# - func: "cleanup environment"
# - func: "set up venv"
stepback: true
command_type: system
pre_error_fails_task: true
oom_tracker: true
# Files that match an ignore-list pattern will not trigger a build, if they're the only modified
# files in the patch.
ignore:
- ".*"
- "!.clang-format"
- "!.eslintrc.yml"
- "*.md"
- "*.rst"
- "*.txt"
- "/distsrc/**"
- "/docs/**"
- "/etc/*.yml"
- "!/etc/evergreen.yml"
- "README"
## Parameters for parameterized builds (see https://github.com/evergreen-ci/evergreen/wiki/Parameterized-Builds)
parameters:
- key: patch_compile_flags
description: "Additional SCons flags to be applied during scons compile invocations in this patch"
## Some variables for convenience:
variables:
# Used when the tests it runs depend only on mongod, mongos, the mongo shell and the tools.
- &task_template
name: template
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --help
resmoke_jobs_max: 0 # No cap on number of jobs.
- &benchmark_template
name: benchmark_template
depends_on:
- name: compile_benchmarks
commands:
- func: "do benchmark setup"
- func: "run tests"
vars:
resmoke_args: --help
resmoke_jobs_max: 1
- func: "send benchmark results"
- &jepsen_config_vars
jepsen_key_time_limit: --key-time-limit 15
jepsen_protocol_version: --protocol-version 1
jepsen_read_concern: ""
jepsen_read_with_find_and_modify: ""
jepsen_storage_engine: ""
jepsen_test_name: ""
# Empirically, we've had greater success in reproducing the issues found in MongoDB versions
# 3.4.0-rc3 and 3.4.0-rc4 when running Jepsen with at least --time-limit=600.
jepsen_time_limit: --time-limit 1200
jepsen_write_concern: ""
# Template for running Jepsen tests
- &run_jepsen_template
name: run_jepsen_template
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
- &jstestfuzz_config_vars
num_files: 15
num_tasks: 5
resmoke_args: --help # resmoke_args needs to be overridden to specify one of the jstestfuzz suites
resmoke_jobs_max: 1
should_shuffle: false
continue_on_failure: false
# Terminate the function when there has been no output to stdout for 30 minutes. E.g. when something is stuck in an infinite loop.
# resmoke.py writes the test output to logkeeper and only writes to stdout when starting the next test.
# resmoke.py not producing output on stdout means that the test is still running and presumably not going to finish.
# Note that timeout_secs is different from exec_timeout_secs, which applies to a task and times out regardless of whether output has been written to stdout.
timeout_secs: 1800
# Used for tests that invoke 'resmoke.py --suites=jstestfuzz*'.
- &jstestfuzz_template
name: jstestfuzz_template
exec_timeout_secs: 14400 # Time out the task if it runs for more than 4 hours.
depends_on: []
commands:
- func: "generate fuzzer tasks"
# Templates used by powercycle
- &powercycle_remote_credentials
private_key_file: src/powercycle.pem
private_key_remote: ${__project_aws_ssh_key_value}
- &libfuzzertests
name: libfuzzertests!
execution_tasks:
- compile_and_archive_libfuzzertests
- fetch_and_run_libfuzzertests
- &compile_task_group_template
name: compile_task_group_template
max_hosts: 1
tasks: []
setup_task:
- func: "f_expansions_write"
- func: "apply compile expansions"
- func: "set task expansion macros"
- func: "f_expansions_write"
teardown_task:
- func: "f_expansions_write"
- func: "attach scons logs"
- func: "attach report"
- func: "attach artifacts"
- func: "kill processes"
- func: "save code coverage data"
- func: "save mongo coredumps"
- func: "save failed unittests"
- func: "save unstripped dbtest"
- func: "save hang analyzer debugger files"
- func: "save disk statistics"
- func: "save system resource information"
- func: "save libfuzzertest corpora"
- func: "remove files"
vars:
files: >-
src/resmoke_error_code
src/build/scons/config.log
src/*.gcda.gcov
src/gcov-intermediate-files.tgz
src/*.core src/*.mdmp
mongo-coredumps.tgz
src/dist-unittests/bin/*
src/dist-unittests/lib/*
mongo-unittests.tgz
src/debugger*.*
src/mongo-hanganalyzer.tgz
diskstats.tgz
system-resource-info.tgz
${report_file|src/report.json}
${archive_file|src/archive.json}
setup_group_can_fail_task: true
setup_group:
- command: manifest.load
- func: "git get project"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
# The python virtual environment is installed in ${workdir}, which is created in
# "set up venv".
- func: "set up venv"
- func: "upload pip requirements"
- func: "get all modified patch files"
- func: "f_expansions_write"
- func: "configure evergreen api credentials"
- func: "get buildnumber"
- func: "f_expansions_write"
- func: "set up credentials"
- func: "use WiredTiger develop" # noop if ${use_wt_develop} is not "true"
- func: "set up win mount script"
- func: "generate compile expansions"
- func: "f_expansions_write"
teardown_group:
- func: "f_expansions_write"
- func: "umount shared scons directory"
- func: "cleanup environment"
timeout:
- func: "f_expansions_write"
- func: "run hang analyzer"
- func: "wait for resmoke to shutdown"
# Use this template for enterprise Windows testing coverage on non-pushing
# variants
- &enterprise-windows-nopush-template
name: enterprise-windows-nopush-template
run_on:
- windows-vsCurrent-small
modules:
- enterprise
expansions: &enterprise-windows-nopush-expansions-template
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi
exe: ".exe"
content_type: application/zip
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --win-version-min=win10
num_scons_link_jobs_available: 0.5
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
large_distro_name: windows-vsCurrent-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-large
- name: burn_in_tests_gen
- name: .aggfuzzer .common
- name: audit
- name: auth_audit_gen
- name: buildscripts_test
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation !.gcm
- name: external_auth
- name: external_auth_aws
- name: external_auth_windows
distros:
- windows-64-2016
- name: .jscore .common !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache
- name: replica_sets_auth_gen
- name: sasl
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: snmp
- &stitch_support_task_group_template
name: stitch_support_task_group_template
setup_task:
- func: "apply compile expansions"
- func: "set task expansion macros"
- func: "f_expansions_write"
teardown_task:
- func: "attach scons logs"
setup_group_can_fail_task: true
setup_group:
- command: manifest.load
- func: "git get project"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "upload pip requirements"
- func: "get buildnumber"
- func: "f_expansions_write"
- func: "set up win mount script"
- func: "generate compile expansions"
teardown_group:
- func: "umount shared scons directory"
# List of all variants that make mongocryptd
# If a variant is listed here and has a push task, mongocryptd is pushed
- mongocryptd_variants: &mongocryptd_variants
- enterprise-amazon2
- enterprise-amazon2-arm64
- enterprise-debian92-64
- enterprise-debian10-64
- enterprise-linux-64-amazon-ami
- enterprise-macos
- enterprise-rhel-70-64-bit
- enterprise-rhel-70-64-bit-kitchen-sink
- enterprise-rhel-70-64-bit-no-libunwind
- enterprise-rhel-81-ppc64le
- enterprise-rhel-72-s390x
- enterprise-rhel-72-s390x-inmem
- enterprise-rhel-80-64-bit
- enterprise-rhel-80-64-bit-coverage
- enterprise-rhel-80-64-bit-inmem
- enterprise-rhel-80-64-bit-multiversion
- enterprise-rhel-80-64-bit-suggested
- enterprise-rhel-82-arm64
- enterprise-suse12-64
- enterprise-suse15-64
- enterprise-ubuntu1804-64
- enterprise-ubuntu1804-arm64
- enterprise-ubuntu2004-arm64
- enterprise-ubuntu2004-64
- enterprise-windows
- enterprise-windows-suggested
- enterprise-windows-debug-unoptimized
- enterprise-windows-inmem
- enterprise-windows-required
- enterprise-windows-wtdevelop
- ubuntu1804-debug-asan
- ubuntu1804-debug-ubsan
- ubuntu1804-debug-aubsan-lite-required
- ubuntu1804-debug-aubsan-lite_fuzzer
# List of all variants that make mh artifacts.
# If a variant is listed here and has a push task, the mh artifacts are pushed
- mh_variants: &mh_variants
- enterprise-debian92-64
- enterprise-macos
- enterprise-rhel-80-64-bit
- enterprise-rhel-80-64-bit-dynamic-required
- enterprise-rhel-70-64-bit
- enterprise-rhel-82-arm64
- enterprise-amazon2-arm64
- enterprise-ubuntu1804-64
- enterprise-windows
- enterprise-windows-suggested
- enterprise-windows-required
# List of all variants that use the packages.tgz
- package_variants: &package_variants
- amazon
- enterprise-linux-64-amazon-ami
- amazon2
- enterprise-amazon2
- enterprise-amazon2-arm64
- debian10
- enterprise-debian10-64
- debian92
- enterprise-debian92-64
- rhel70
- rhel76_compile_rhel70
- enterprise-rhel-70-64-bit
- rhel-72-s390x
- enterprise-rhel-81-ppc64le
- enterprise-rhel-72-s390x
- ubi8
- rhel80
- rhel-82-arm64
- enterprise-rhel-80-64-bit
- enterprise-rhel-80-64-bit-coverage
- enterprise-rhel-80-64-bit-suggested
- enterprise-rhel-82-arm64
- suse12
- enterprise-suse12-64
- suse15
- enterprise-suse15-64
- ubuntu1804-debug-suggested
- enterprise-ubuntu-dynamic-1804-clang-tidy-required
- ubuntu1804
- ubuntu1804-arm64
- ubuntu2004-arm64
- ubuntu2004
- enterprise-ubuntu1804-64
- enterprise-ubuntu1804-arm64
- enterprise-ubuntu2004-arm64
- enterprise-ubuntu2004-64
- enterprise-windows
- enterprise-windows-suggested
- windows
#######################################
# Functions #
#######################################
functions:
"f_expansions_write": &f_expansions_write
command: expansions.write
params:
file: expansions.yml
redacted: true
"remove files":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/files_remove.sh"
"configure evergreen api credentials": &configure_evergreen_api_credentials
command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/functions/evergreen_api_credentials_configure.sh"
"configure selected tests credentials": &configure_selected_tests_credentials
command: subprocess.exec
type: test
params:
binary: bash
silent: true
args:
- "src/evergreen/functions/selected_tests_credentials_configure.sh"
env:
project: ${project}
selected_tests_auth_user: ${selected_tests_auth_user}
selected_tests_auth_token: ${selected_tests_auth_token}
"git get project": &git_get_project
command: git.get_project
params:
directory: ${git_project_directory|src}
revisions: # for each module include revision as <module_name> : ${<module_name>_rev}
enterprise: ${enterprise_rev}
wtdevelop: ${wtdevelop_rev}
"fetch artifacts": &fetch_artifacts
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz
bucket: mciuploads
extract_to: src
"fetch packages": &fetch_packages
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
bucket: mciuploads
extract_to: src
build_variants: *package_variants
"fetch dist tarball": &fetch_dist_tarball
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}.${ext|tgz}
bucket: mciuploads
local_file: src/mongo-binaries.tgz
"fetch dist debugsymbols": &fetch_dist_debugsymbols
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}-debugsymbols.${ext|tgz}
bucket: mciuploads
local_file: src/mongo-debugsymbols.tgz
"fetch binaries": &fetch_binaries
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mongo_binaries}
bucket: mciuploads
local_file: src/mongo-binaries.tgz
"extract binaries": &extract_binaries
command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/binaries_extract.sh"
"check binary version": &check_binary_version
command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/binary_version_check.sh"
"fetch benchmarks": &fetch_benchmarks
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/benchmarks/${build_id}.tgz
bucket: mciuploads
extract_to: src
"fetch corpus": &fetch_corpus
command: s3.get
params:
aws_key: ${s3_access_key_id}
aws_secret: ${s3_secret_access_key}
bucket: fuzzer-artifacts
extract_to: src/corpora
remote_file: ${mongo_fuzzer_corpus}
"fetch legacy corpus": &fetch_legacy_corpus
command: s3.get
params:
aws_key: ${s3_access_key_id}
aws_secret: ${s3_secret_access_key}
bucket: fuzzer-artifacts
# Extract the legacy corpora to the merge directory to synthesize together until we burn in.
extract_to: src/corpora-merged
remote_file: ${project}/corpus/mongo-${build_variant}-latest.tgz
"archive new corpus": &archive_new_corpus
command: archive.targz_pack
params:
target: corpora.tgz
source_dir: src/corpora-merged
include:
- "**"
"upload new corpus": &upload_new_corpus
command: s3.put
params:
aws_key: ${s3_access_key_id}
aws_secret: ${s3_secret_access_key}
bucket: fuzzer-artifacts
content_type: ${content_type|application/gzip}
display_name: "Fuzzer Tests Corpus Tar Archive"
local_file: corpora.${ext|tgz}
optional: true
permissions: private
remote_file: ${mongo_fuzzer_corpus}
visibility: signed
"upload new corpus for mciuploads": &upload_new_corpus_mciuploads
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
bucket: mciuploads
content_type: ${content_type|application/gzip}
display_name: Input Corpora
local_file: corpora.${ext|tgz}
optional: true
permissions: private
remote_file: ${mongo_fuzzer_corpus_mciuploads}
visibility: signed
"get buildnumber": &get_buildnumber
command: keyval.inc
params:
key: "${build_variant}_master"
destination: "builder_num"
"run diskstats": &run_diskstats
command: subprocess.exec
params:
background: true
system_log: true
binary: bash
args:
- "./src/evergreen/functions/run_diskstats.sh"
"collect system resource info": &collect_system_resource_info
command: subprocess.exec
params:
background: true
system_log: true
binary: bash
args:
- "./src/evergreen/functions/system_resource_info_collect.sh"
# Run a monitor process as a background, system task to periodically
# display how many threads interesting processes are using.
"monitor process threads": &monitor_process_threads
command: subprocess.exec
params:
background: true
system_log: true
binary: bash
args:
- "./src/evergreen/functions/process_threads_monitor.sh"
"set up credentials": &set_up_credentials
command: subprocess.exec
params:
binary: bash
silent: true
args:
- "./src/evergreen/functions/credentials_setup.sh"
"set up win mount script":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
silent: true
args:
- "./src/evergreen/functions/win_mount_script_setup.sh"
"set up notary client credentials":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
silent: true
args:
- "./src/evergreen/functions/notary_client_credentials_setup.sh"
"f_remote_credentials_setup_exec": &set_up_remote_credentials
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/remote_credentials_setup.sh"
env:
private_key_remote_bash_var: ${private_key_remote}
"set up remote credentials":
- *f_expansions_write
- *set_up_remote_credentials
"call BF Suggestion service":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
silent: true
args:
- "./src/evergreen/functions/bf_suggestion_service_call.sh"
"upload debugsymbols": &upload_debugsymbols
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongo-debugsymbols.${ext|tgz}
remote_file: ${mongo_debugsymbols}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
"fetch debugsymbols archive": &fetch_debugsymbols_archive
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mongo_debugsymbols}
bucket: mciuploads
local_file: src/mongo-debugsymbols.tgz
"use WiredTiger develop":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/wiredtiger_develop_use.sh"
"shared scons cache pruning":
- *f_expansions_write
- command: subprocess.exec
type: system
params:
binary: bash
args:
- "./src/evergreen/functions/shared_scons_cache_pruning.sh"
"umount shared scons directory":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/shared_scons_directory_umount.sh"
"get all modified patch files":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/modified_patch_files_get_all.sh"
# This function should only be called from patch-build-only tasks.
"get added and modified patch files":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/added_and_modified_patch_files_get.sh"
"determine resmoke jobs": &determine_resmoke_jobs
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/resmoke_jobs_determine.sh"
"update resmoke jobs expansions": &update_resmoke_jobs_expansions
command: expansions.update
params:
ignore_missing_file: true
file: src/resmoke_jobs_expansion.yml
"determine task timeout": &determine_task_timeout
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/task_timeout_determine.sh"
"update task timeout expansions": &update_task_timeout_expansions
command: expansions.update
params:
ignore_missing_file: true
file: src/task_timeout_expansions.yml
"update task timeout": &update_task_timeout
command: timeout.update
params:
exec_timeout_secs: ${exec_timeout_secs}
### Set expansion macros used in each task.
"set task expansion macros": &set_task_expansion_macros
command: expansions.update
params:
updates:
- key: mongo_binaries
value: ${project}/${build_variant}/${revision}/binaries/mongo-${build_id}.${ext|tgz}
- key: mongo_cryptd
value: ${project}/${build_variant}/${revision}/binaries/mongo-cryptd-${build_id}.${ext|tgz}
- key: mongo_cryptd_debugsymbols
value: ${project}/${build_variant}/${revision}/binaries/mongo-cryptd-debugsymbols-${build_id}.${ext|tgz}
- key: mh_archive
value: ${project}/${build_variant}/${revision}/binaries/mh-${build_id}.${ext|tgz}
- key: mh_debugsymbols
value: ${project}/${build_variant}/${revision}/debugsymbols/mh-debugsymbols-${build_id}.${ext|tgz}
- key: mongo_debugsymbols
value: ${project}/${build_variant}/${revision}/debugsymbols/debugsymbols-${build_id}.${ext|tgz}
- key: mongo_shell
value: ${project}/${build_variant}/${revision}/binaries/mongo-shell-${build_id}.${ext|tgz}
- key: mongo_shell_debugsymbols
value: ${project}/${build_variant}/${revision}/binaries/mongo-shell-debugsymbols-${build_id}.${ext|tgz}
- key: mongo_fuzzer_corpus_mciuploads
value: ${project}/${build_variant}/${revision}/libfuzzer-corpora/corpora-${build_id}.${ext|tgz}
- key: mongo_fuzzer_corpus
value: corpora-${project}-${build_variant}.${ext|tgz}
- key: skip_tests
value: skip_test-${build_id}
"set up venv": &set_up_venv
command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/venv_setup.sh"
env:
pip_dir: ${pip_dir}
workdir: ${workdir}
"upload pip requirements": &upload_pip_requirements
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: pip-requirements.txt
remote_file: ${project}/${build_variant}/${revision}/pip-requirements-${task_id}-${execution}.txt
bucket: mciuploads
permissions: public-read
content_type: atext-plain
display_name: Pip Requirements
"send benchmark results":
command: json.send
params:
name: perf
file: src/perf.json
"cleanup environment": &cleanup_environment
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/cleanup_environment.sh"
"kill processes": &kill_processes
command: subprocess.exec
params:
silent: true
binary: bash
args:
- "./src/evergreen/kill_processes.sh"
"do setup":
- *f_expansions_write
- *fetch_artifacts
- *kill_processes
- *cleanup_environment
- *fetch_binaries
- *fetch_debugsymbols_archive
- *set_up_venv
- *upload_pip_requirements
- *extract_binaries
- *check_binary_version
- *get_buildnumber
- *f_expansions_write
- *set_up_credentials
- *run_diskstats
- *monitor_process_threads
- *collect_system_resource_info
"do non-compile setup":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *get_buildnumber
- *f_expansions_write
- *set_up_credentials
"do benchmark setup":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *get_buildnumber
- *f_expansions_write
- *set_up_credentials
- *fetch_benchmarks
"f_multiversion_setup_exec": &do_multiversion_setup
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/multiversion_setup.sh"
"do multiversion setup":
- *f_expansions_write
- *do_multiversion_setup
# Used by generator
"get compiled binaries":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/compiled_binaries_get.sh"
"generate powercycle tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/powercycle_tasks_generate.sh"
- command: archive.targz_pack
params:
target: powercycle_tasks_config.tgz
source_dir: "./"
include:
- "powercycle_tasks.json"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: powercycle_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/powercycle_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
- command: generate.tasks
params:
files:
- powercycle_tasks.json
"run powercycle sentinel":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *configure_evergreen_api_credentials
- command: subprocess.exec
type: system
params:
binary: bash
args:
- "./src/evergreen/powercycle_sentinel_run.sh"
"execute resmoke tests": &execute_resmoke_tests
command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/resmoke_tests_execute.sh"
"retrieve generated test configuration": &retrieve_generated_test_configuration
command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
bucket: mciuploads
remote_file: ${project}/${gen_task_config_location}
local_file: "generate_tasks_config.tgz"
"extract generated test configuration": &extract_generated_test_configuration
command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/extract_generated_test_configuration.sh"
"generate selected tests":
- *f_expansions_write
- *configure_evergreen_api_credentials
- *configure_selected_tests_credentials
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/selected_tests_generate.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: generate.tasks
params:
optional: true
files:
- src/generated_resmoke_config/*.json
"generate burn in tags":
- *f_expansions_write
- *configure_evergreen_api_credentials
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/burn_in_tests_generate.sh"
- command: archive.targz_pack
params:
target: burn_in_tags_gen.tgz
source_dir: src/generated_burn_in_tags_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: burn_in_tags_gen.tgz
remote_file: ${project}/${build_variant}/${revision}/burn_in_tags_gen/burn_in_tags_gen-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Burn_in_tags Task Config - Execution ${execution}
- command: generate.tasks
params:
files:
- src/generated_burn_in_tags_config/burn_in_tags_gen.json
"generate randomized multiversion tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *configure_evergreen_api_credentials
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/randomized_multiversion_tasks_generate.sh"
- *do_multiversion_setup
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/randomized_multiversion_tasks_generate_exclude_tags.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
optional: true
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: timeout.update
params:
exec_timeout_secs: 10800 # 3 hours
timeout_secs: 10800 # 3 hours
- *f_expansions_write
- command: generate.tasks
params:
optional: true
files:
- src/generated_resmoke_config/*.json
"generate resmoke tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *f_expansions_write
- *configure_evergreen_api_credentials
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/resmoke_tasks_generate.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: timeout.update
params:
exec_timeout_secs: 10800 # 3 hours
timeout_secs: 10800 # 3 hours
- *f_expansions_write
- command: generate.tasks
params:
optional: true
files:
- src/generated_resmoke_config/*.json
# Used by generator
"run generated tests":
- *f_expansions_write
- *retrieve_generated_test_configuration
- *extract_generated_test_configuration
- *f_expansions_write
- command: expansions.update
params:
updates:
- key: aws_key_remote
value: ${mongodatafiles_aws_key}
- key: aws_profile_remote
value: mongodata_aws
- key: aws_secret_remote
value: ${mongodatafiles_aws_secret}
- *f_expansions_write
- *set_up_remote_credentials
- *f_expansions_write
- *determine_resmoke_jobs
- *update_resmoke_jobs_expansions
- *f_expansions_write
- *execute_resmoke_tests
# The existence of the "run_tests_infrastructure_failure" file indicates this failure isn't
# directly actionable. We use type=setup rather than type=system or type=test for this command
# because we don't intend for any human to look at this failure.
- command: subprocess.exec
type: setup
params:
binary: bash
args:
- "./src/evergreen/check_run_tests_infrastructure_failure.sh"
"run tests":
- *f_expansions_write
- *determine_task_timeout
- *update_task_timeout_expansions
- *f_expansions_write
- *update_task_timeout
- *f_expansions_write
- command: expansions.update
params:
env:
CEDAR_USER: ${cedar_user}
CEDAR_API_KEY: ${cedar_api_key}
updates:
- key: aws_key_remote
value: ${mongodatafiles_aws_key}
- key: aws_profile_remote
value: mongodata_aws
- key: aws_secret_remote
value: ${mongodatafiles_aws_secret}
- *f_expansions_write
- *set_up_remote_credentials
- *f_expansions_write
- *determine_resmoke_jobs
- *update_resmoke_jobs_expansions
- *f_expansions_write
- *execute_resmoke_tests
# The existence of the "run_tests_infrastructure_failure" file indicates this failure isn't
# directly actionable. We use type=setup rather than type=system or type=test for this command
# because we don't intend for any human to look at this failure.
- command: subprocess.exec
type: setup
params:
binary: bash
args:
- "./src/evergreen/check_run_tests_infrastructure_failure.sh"
"scons lint":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/scons_lint.sh"
"scons compile":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/scons_compile.sh"
"generate compile expansions":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/compile_expansions_generate.sh"
"apply compile expansions":
- command: expansions.update
params:
file: src/compile_expansions.yml
- *f_expansions_write
"do jepsen setup":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_jepsen_setup/build_libfaketime.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_jepsen_setup/install_jepsen.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_jepsen_setup/nodes.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_jepsen_setup/move_binaries.sh"
"run jepsen test":
- *f_expansions_write
- command: subprocess.exec
type: test
timeout_secs: 2700 # Timeout test if there is no output for more than 45 minutes.
params:
binary: bash
args:
- "./src/evergreen/jepsen_test_run.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/jepsen_test_fail.sh"
"load aws test credentials":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
silent: true
args:
- "./src/evergreen/functions/aws_test_credentials_load.sh"
"generate explicit multiversion tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *f_expansions_write
- *configure_evergreen_api_credentials
- *do_multiversion_setup
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/explicit_multiversion_tasks_generate.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: timeout.update
params:
exec_timeout_secs: 10800 # 3 hours
timeout_secs: 10800 # 3 hours
- *f_expansions_write
- command: generate.tasks
params:
optional: true
files:
- src/generated_resmoke_config/*.json
"generate implicit multiversion tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *configure_evergreen_api_credentials
- *f_expansions_write
- *do_multiversion_setup
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/implicit_multiversions_tasks_generate.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: timeout.update
params:
exec_timeout_secs: 10800 # 3 hours
timeout_secs: 10800 # 3 hours
- *f_expansions_write
- command: generate.tasks
params:
# Optional b/c reruns of this task will produce no JSON files to avoid
# generate.tasks failing
optional: true
files:
- src/generated_resmoke_config/*.json
"generate fuzzer tasks":
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- *upload_pip_requirements
- *configure_evergreen_api_credentials
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/fuzzer_tasks_generate.sh"
- command: archive.targz_pack
params:
target: generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${name}_gen-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Generated Task Config - Execution ${execution}
optional: true
- command: timeout.update
params:
exec_timeout_secs: 10800 # 3 hours
timeout_secs: 10800 # 3 hours
- *f_expansions_write
- command: generate.tasks
params:
optional: true
files:
- src/generated_resmoke_config/${name}.json
"setup jstestfuzz":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/jstestfuzz_setup.sh"
"lint fuzzer sanity patch":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/lint_fuzzer_sanity_patch.sh"
"lint fuzzer sanity all":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/lint_fuzzer_sanity_all.sh"
# Used by generator
"run jstestfuzz":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/run_jstestfuzz/clone_repos.sh"
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/jstestfuzz_run.sh"
# TODO SERVER-57161 remove this touch command
- command: subprocess.exec
params:
binary: touch
args:
- "./src/jstestfuzz/out/placeholder.js"
- command: archive.targz_pack
params:
target: "jstests.tgz"
source_dir: "src/jstestfuzz"
include:
- "out/*.js"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: jstests.tgz
remote_file: ${project}/${build_variant}/${revision}/jstestfuzz/${task_id}-${execution}.tgz
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/gzip
display_name: Generated Tests - Execution ${execution}
"run idl tests":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/idl_tests_run.sh"
"run powercycle test":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/powercycle_run_test.sh"
- command: expansions.update
params:
ignore_missing_file: true
file: src/powercycle_exit.yml
- *f_expansions_write
- command: subprocess.exec
type: setup
params:
binary: bash
args:
- "./src/evergreen/powercycle_ssh_failure_exit.sh"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/powercycle_exit.sh"
"run packager.py":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/packager.py_run.sh"
"do snmp setup":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_snmp_setup.sh"
"do watchdog setup":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/do_watchdog_setup.sh"
"run kitchen":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/kitchen_run.sh"
"set up EC2 instance": &set_up_ec2_instance
- command: host.create
params:
provider: ec2
distro: ${distro_id}
timeout_teardown_secs: 604800 # 7 days
security_group_ids:
- sg-097bff6dd0d1d31d0
- command: host.list
params:
wait: true
timeout_seconds: 3000
num_hosts: 1
path: src/hosts.yml
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/powercycle_check_host.sh"
- command: expansions.update
params:
file: src/powercycle_ip_address.yml
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/powercycle_setup_host.sh"
### Process & archive remote EC2 artifacts ###
"save powercycle artifacts": &save_powercycle_artifacts
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/powercycle_save_artifacts.sh"
"archive remote EC2 artifacts": &archive_remote_ec2_artifacts
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/ec2_artifacts.tgz
remote_file: ${project}/${build_variant}/${revision}/remote_ec2/remote_ec2_artifacts-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Remote EC2 Artifacts - Execution ${execution}
optional: true
"archive remote EC2 monitor files": &archive_remote_ec2_monitor_files
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/ec2_monitor_files.tgz
remote_file: ${project}/${build_variant}/${revision}/remote_ec2/remote_ec2_monitor-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Remote EC2 Monitor - Execution ${execution}
optional: true
"save ec2 task artifacts":
- *f_expansions_write
- *save_powercycle_artifacts
- *archive_remote_ec2_artifacts
- *archive_remote_ec2_monitor_files
### Process & archive local client logs ###
"tar local client logs": &tar_local_client_logs
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/local_client_logs_tar.sh"
"archive local client logs": &archive_local_client_logs
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/client-logs.tgz
remote_file: ${project}/${build_variant}/${revision}/client_logs/mongo-client-logs-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Client logs - Execution ${execution}
optional: true
"save local client logs":
- *f_expansions_write
- *tar_local_client_logs
- *archive_local_client_logs
### Cleanup after the watchdog FUSE testing ###
"cleanup FUSE watchdog":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/fuse_watchdog_cleanup.sh"
### Process & archive Code Coverage artifacts ###
"process code coverage data": &process_code_coverage_data
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/functions/code_coverage_data_process.sh"
"tar code coverage data": &tar_code_coverage_data
command: archive.targz_pack
params:
target: "src/gcov-intermediate-files.tgz"
source_dir: "src"
include:
- "*.gcda.gcov"
"archive code coverage data": &archive_code_coverage_data
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/gcov-intermediate-files.tgz"
remote_file: ${project}/${build_variant}/${revision}/gcov/gcov-intermediate-files-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: gcov intermediate files - Execution ${execution}
optional: true
"save code coverage data":
- *f_expansions_write
- *process_code_coverage_data
- *tar_code_coverage_data
- *archive_code_coverage_data
"tar jepsen logs": &tar_jepsen_logs
command: archive.targz_pack
params:
target: "src/jepsen-mongod-logs.tgz"
source_dir: "${workdir}/src/jepsen-workdir"
include:
- "./**.log"
"archive jepsen logs": &archive_jepsen_logs
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/jepsen-mongod-logs.tgz
remote_file: ${project}/${build_variant}/${revision}/jepsen/jepsen-mongod-logs-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Jepsen mongod Logs - ${execution}
optional: true
"tar jepsen results": &tar_jepsen_results
command: archive.targz_pack
params:
target: "src/jepsen-results.tgz"
source_dir: "src/jepsen-mongodb/store"
include:
- "./**"
"archive jepsen results": &archive_jepsen_results
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/jepsen-results.tgz
remote_file: ${project}/${build_variant}/${revision}/jepsen/jepsen-results-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Jepsen Test Results - ${execution}
optional: true
"save jepsen artifacts":
- *tar_jepsen_logs
- *archive_jepsen_logs
- *tar_jepsen_results
- *archive_jepsen_results
### Process & archive mongo coredumps ###
"gather mongo coredumps": &gather_mongo_coredumps
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/gather_mongo_coredumps.sh"
"tar mongo coredumps": &tar_mongo_coredumps
command: archive.targz_pack
params:
target: "mongo-coredumps.tgz"
source_dir: "src"
include:
- "./**.core"
- "./**.mdmp" # Windows: minidumps
"archive mongo coredumps": &archive_mongo_coredumps
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: mongo-coredumps.tgz
remote_file: ${project}/${build_variant}/${revision}/coredumps/mongo-coredumps-${build_id}-${task_name}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Core Dumps - Execution ${execution}
optional: true
"save mongo coredumps":
- *f_expansions_write
- *gather_mongo_coredumps
- *tar_mongo_coredumps
- *archive_mongo_coredumps
### Process & archive failed unittest artifacts ###
"gather failed unittests": &gather_failed_unittests
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/failed_unittests_gather.sh"
"tar failed unittests": &tar_failed_unittests
command: archive.targz_pack
params:
target: "mongo-unittests.tgz"
source_dir: "src/dist-unittests"
include:
- "**"
"archive failed unittests": &archive_failed_unittests
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: mongo-unittests.tgz
remote_file: ${project}/${build_variant}/${revision}/unittests/mongo-unittests-${build_id}-${task_name}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Unit tests - Execution ${execution}
optional: true
"save failed unittests":
- *f_expansions_write
- *gather_failed_unittests
- *tar_failed_unittests
- *archive_failed_unittests
"archive dbtest": &archive_dbtest
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: dbtest-binary.tgz
remote_file: ${project}/${build_variant}/${revision}/dbtest/dbtest-${build_id}-${task_name}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: dbtest binary - Execution ${execution}
optional: true
"archive dbtest debugsymbols": &archive_dbtest_debug
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: dbtest-debugsymbols.tgz
remote_file: ${project}/${build_variant}/${revision}/dbtest/dbtest-${build_id}-${task_name}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: dbtest debugsymbols
optional: true
"save unstripped dbtest":
- *archive_dbtest
- *archive_dbtest_debug
### Process & archive artifacts from hung processes ###
"run hang analyzer":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/hang_analyzer.sh"
"wait for resmoke to shutdown":
command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/wait_for_resmoke_to_shutdown.sh"
"tar hang analyzer debugger files": &tar_hang_analyzer_debugger_files
command: archive.targz_pack
params:
target: "src/mongo-hanganalyzer.tgz"
source_dir: "src"
include:
- "./debugger*.*"
"archive hang analyzer debugger files": &archive_hang_analyzer_debugger_files
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongo-hanganalyzer.tgz
remote_file: ${project}/${build_variant}/${revision}/hanganalyzer/mongo-hanganalyzer-${build_id}-${task_name}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Hang Analyzer Output - Execution ${execution}
optional: true
"save hang analyzer debugger files":
- *tar_hang_analyzer_debugger_files
- *archive_hang_analyzer_debugger_files
### Process & archive disk statistic artifacts ###
"tar disk statistics": &tar_disk_statistics
command: archive.targz_pack
params:
target: "diskstats.tgz"
source_dir: "./"
include:
- "./mongo-diskstats*"
- "./mongo-diskstats*.csv"
"archive disk statistics": &archive_disk_statistics
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: diskstats.tgz
remote_file: ${project}/${build_variant}/${revision}/diskstats/mongo-diskstats-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Disk Stats - Execution ${execution}
optional: true
"save disk statistics":
- *tar_disk_statistics
- *archive_disk_statistics
"save libfuzzertest corpora":
- *archive_new_corpus
- *upload_new_corpus
- *upload_new_corpus_mciuploads
### Process & archive system resource artifacts ###
"tar system resource information": &tar_system_resource_information
command: archive.targz_pack
params:
target: "system-resource-info.tgz"
source_dir: src
include:
- "./system_resource_info*"
"archive system resource information": &archive_system_resource_information
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: system-resource-info.tgz
remote_file: ${project}/${build_variant}/${revision}/systemresourceinfo/mongo-system-resource-info-${task_id}-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: System Resource Info - Execution ${execution}
optional: true
"save system resource information":
- *tar_system_resource_information
- *archive_system_resource_information
"tar UndoDB recordings": &tar_undodb_recordings
command: archive.targz_pack
params:
target: undodb-recordings.tgz
source_dir: src
include:
- "./*.undo"
"archive UndoDB recordings": &archive_undodb_recordings
command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: undodb-recordings.tgz
remote_file: ${project}/${build_variant}/${revision}/undo/undodb-recordings-${task_id}-execution-${execution}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: UndoDB Recordings - Execution ${execution}
optional: true
"save UndoDB recordings":
- *tar_undodb_recordings
- *archive_undodb_recordings
### Attach report & artifacts ###
"attach scons logs":
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/build/scons/config.log
remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-config.log.${build_id}-${task_name}-${execution}
bucket: mciuploads
permissions: public-read
content_type: text/plain
display_name: SCons configure log
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/scons_cache.log
content_type: text/plain
remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-cache.log.${build_id}-${task_name}.${execution}
bucket: mciuploads
permissions: public-read
display_name: SCons cache debug log
- *f_expansions_write
- command: subprocess.exec
params:
continue_on_err: true
binary: bash
args:
- "./src/evergreen/scons_splunk.sh"
"attach report":
command: attach.results
params:
file_location: ${report_file|src/report.json}
"attach artifacts":
command: attach.artifacts
params:
optional: true
ignore_artifacts_for_spawn: false
files:
- ${archive_file|src/archive.json}
"attach wiki page":
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/wiki_page.sh"
- command: attach.artifacts
params:
files:
- wiki_page_location.json
# Pre task steps
pre:
- func: "set task expansion macros"
- func: "f_expansions_write"
# Post task steps
post:
- func: "f_expansions_write"
- func: "attach report"
- func: "attach artifacts"
- func: "save ec2 task artifacts"
- func: "call BF Suggestion service"
- func: "attach wiki page"
- func: "kill processes"
- func: "save local client logs"
- func: "save code coverage data"
- func: "save jepsen artifacts"
- func: "save mongo coredumps"
- func: "save failed unittests"
- func: "save hang analyzer debugger files"
- func: "save disk statistics"
- func: "save system resource information"
- func: "save UndoDB recordings"
- func: "umount shared scons directory"
- func: "cleanup FUSE watchdog"
- func: "cleanup environment"
# Timeout steps
timeout:
- func: "f_expansions_write"
- func: "run hang analyzer"
- func: "wait for resmoke to shutdown"
#######################################
# Tasks #
#######################################
tasks:
## compile - build all scons targets except unittests ##
- name: compile_dist_test
tags: []
depends_on: []
commands:
- func: "scons compile"
vars:
targets: >-
install-dist-test
${additional_compile_targets|}
task_compile_flags: >-
--separate-debug
PREFIX=dist-test
- name: archive_dist_test
tags: []
depends_on:
- name: compile_dist_test
commands:
- *f_expansions_write
- func: "scons compile"
vars:
targets: >-
archive-dist-test
task_compile_flags: >-
--separate-debug
PREFIX=dist-test
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-binaries.${ext|tgz}
remote_file: ${mongo_binaries}
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Binaries
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/gen_feature_flags.sh"
- command: archive.targz_pack
params:
target: "artifacts.tgz"
source_dir: "src"
include:
- "./build/**.gcno"
- "./etc/*san.suppressions"
- "./etc/expansions.default.yml"
- "./etc/pip/**"
- "./etc/repo_config.yaml"
- "./etc/scons/**"
- "artifacts.json"
- "buildscripts/**"
- "compile_expansions.yml"
- "all_feature_flags.txt" # Must correspond to the definition in buildscripts/idl/lib.py.
- "jstests/**"
- "library_dependency_graph.json"
- "patch_files.txt"
- "evergreen/**"
- "src/mongo/client/sdam/json_tests/sdam_tests/**"
- "src/mongo/client/sdam/json_tests/server_selection_tests/**"
- "src/mongo/db/modules/enterprise/docs/**"
- "src/mongo/db/modules/enterprise/jstests/**"
- "src/mongo/db/modules/subscription/jstests/**"
- "src/mongo/util/options_parser/test_config_files/**"
- "src/third_party/JSON-Schema-Test-Suite/tests/draft4/**"
- "src/third_party/mock_ocsp_responder/**"
- "src/third_party/schemastore.org/**"
exclude_files:
- "*_test.pdb"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: artifacts.tgz
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/tar
display_name: Artifacts
# For patch builds that bypass compile, we upload links to pre-existing tarballs, except for the
# artifacts.tgz.
- command: attach.artifacts
params:
optional: true
ignore_artifacts_for_spawn: false
files:
- src/artifacts.json
- name: archive_dist_test_debug
tags: []
depends_on:
- name: archive_dist_test
commands:
- func: "scons compile"
vars:
targets: >-
archive-dist-test-debug
task_compile_flags: >-
--separate-debug
PREFIX=dist-test
- func: "upload debugsymbols"
- name: compile_ninja
tags: []
commands:
- func: "scons compile"
vars:
generating_for_ninja: true
task_install_action:
default
task_compile_flags: >-
--ninja
targets:
generate-ninja
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/ninja_compile.sh"
- name: compile_ninja_next
tags: []
commands:
- func: "scons compile"
vars:
generating_for_ninja: true
task_install_action:
default
task_compile_flags: >-
--build-tools=next
--ninja
targets:
generate-ninja
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/ninja_compile.sh"
- name: compile_build_tools_next
tags: []
commands:
- func: "scons compile"
vars:
task_compile_flags: >-
--build-tools=next
targets:
install-core
- name: libdeps_graph_linting
tags: []
commands:
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/libdeps_setup.sh"
- func: "scons compile"
vars:
task_compile_flags: >-
--link-model=dynamic
--build-tools=next
targets:
generate-libdeps-graph
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/libdeps_run.sh"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/results.txt
remote_file: ${project}/${build_variant}/${revision}/artifacts/libdeps-results.txt.${build_id}-${task_name}.${execution}
bucket: mciuploads
permissions: public-read
content_type: text/plain
display_name: Libdeps Linter Results
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/libdeps.graphml.gz
remote_file: ${project}/${build_variant}/${revision}/artifacts/libdeps.graphml.${build_id}-${task_name}.${execution}.gz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Libdeps Graph Data
## compile_all - build all scons targets ##
- name: compile_all
tags: []
depends_on:
- name: compile_dist_test
commands:
- func: "scons compile"
vars:
targets: install-all-meta
compiling_for_test: true
task_compile_flags: >-
--separate-debug
## clang_tidy - run clang_tidy
- name: clang_tidy
tags: []
exec_timeout_secs: 3600 # 1 hour timeout for the task overall
commands:
- *f_expansions_write
- func: "scons compile"
vars:
targets: generated-sources compiledb
compiling_for_test: true
- command: subprocess.exec
type: test
timeout_secs: 3600 # 1 hour timeout for no output
params:
binary: bash
args:
- "./src/evergreen/run_clang_tidy.sh"
## compile_unittests ##
- name: compile_unittests
depends_on:
- name: compile_dist_test
commands:
- func: "scons compile"
vars:
targets: install-unittests install-unittests-debug
task_compile_flags: >-
--separate-debug
compiling_for_test: true
## run_unittests ##
- name: run_unittests
tags: []
depends_on:
- name: compile_unittests
commands:
- *f_expansions_write
- func: "run diskstats"
- func: "f_expansions_write"
- func: "monitor process threads"
- func: "collect system resource info"
- func: "run tests"
vars:
resmoke_args: --suites=unittests
##compile_and_archive_libfuzzertests - build libfuzzertests ##
- name: compile_and_archive_libfuzzertests
tags: []
commands:
- func: "scons compile"
vars:
targets: archive-fuzzertests
compiling_for_test: true
# Store the fuzzer executable, which we use to generate and run fuzzer inputs.
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/fuzzertests-runtime.tgz"
remote_file: "${project}/libfuzzer-tests/${build_variant}/${revision}/libfuzzer-tests.tgz"
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/tar
display_name: "LibFuzzer Tests"
## fetch_and_run_libfuzzertests - get input corpora from s3 and run libfuzzertests ##
- name: fetch_and_run_libfuzzertests
tags: []
commands:
- func: "fetch corpus"
- func: "fetch legacy corpus"
- func: "run tests"
vars:
resmoke_args: --suites=libfuzzer
- name: server_discovery_and_monitoring_json_test
tags: []
commands:
- func: "scons compile"
vars:
targets: install-sdam-json-test
compiling_for_test: true
- func: "run tests"
vars:
resmoke_args: --suites=sdam_json_test
- name: server_selection_json_test
tags: []
commands:
- func: "scons compile"
vars:
targets: install-server-selection-json-test
compiling_for_test: true
- func: "run tests"
vars:
resmoke_args: --suites=server_selection_json_test
## compile_dbtest ##
- name: compile_dbtest
tags: []
depends_on:
- name: compile_dist_test
commands:
- func: "scons compile"
vars:
targets: install-dbtest install-dbtest-debug
task_compile_flags: >-
--separate-debug
compiling_for_test: true
## run_dbtest ##
- name: run_dbtest
tags: []
depends_on:
- name: compile_dbtest
commands:
- *f_expansions_write
- func: "run diskstats"
- func: "f_expansions_write"
- func: "monitor process threads"
- func: "collect system resource info"
- func: "run tests"
vars:
resmoke_args: --suites=dbtest --storageEngine=wiredTiger
install_dir: build/install/bin
- name: archive_dbtest
tags: []
depends_on:
- name: compile_dbtest
commands:
- func: "scons compile"
vars:
targets: archive-dbtest archive-dbtest-debug
task_compile_flags: >-
--separate-debug
compiling_for_test: true
- name: compile_visibility_test
tags: []
commands:
- func: "scons compile"
vars:
targets: archive-visibility-test-meta
task_compile_flags: >-
--ssl
--dbg=on
--opt=on
--separate-debug
--link-model=dynamic
--experimental-visibility-support=on
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/visibility-test-meta.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/visibility-test-meta-${build_id}-${task_name}-${execution}.${ext|tgz}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Binaries
## embedded_sdk_build_and_test_* - build the embedded-dev and embedded-test targets only ##
- name: embedded_sdk_build_cdriver
tags: []
commands:
- func: f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/embedded_sdk_build_cdriver.sh"
- name: embedded_sdk_install_dev
tags: []
depends_on:
- name: embedded_sdk_build_cdriver
commands:
- func: "scons compile"
vars:
targets: install-embedded-dev
task_compile_flags: &embedded_sdk_compile_flags >-
--allocator=system
--dbg=off
--enable-free-mon=off
--enable-http-client=off
--js-engine=none
--opt=size
--separate-debug
--ssl=off
--use-system-mongo-c=on
DESTDIR='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION'
CPPPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libbson-1.0 $BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libmongoc-1.0'
task_compile_flags_extra: >-
--link-model=dynamic-sdk
- name: embedded_sdk_s3_put
tags: []
depends_on:
- name: embedded_sdk_install_dev
commands:
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/embedded_sdk_s3_tar.sh"
# Upload it so we can download from EVG.
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/build/embedded-sdk.tgz"
remote_file: ${project}/embedded-sdk/${build_variant}/${revision}/mongo-embedded-sdk-${version}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: "Embedded SDK Tar Archive"
- name: embedded_sdk_install_tests
tags: []
depends_on:
- name: embedded_sdk_install_dev
commands:
- func: "scons compile"
vars:
targets: install-embedded-test
compiling_for_test: true
task_compile_flags: *embedded_sdk_compile_flags
task_compile_flags_extra: >-
--link-model=dynamic
# Unlike static builds, dynamic builds have no need to
# constrain the number of link jobs. Unfortunately, --jlink=1
# means one link job, not 100%. So this is a bit gross but set
# it to .99.
num_scons_link_jobs_available: 0.99
- name: embedded_sdk_tests_s3_put
tags: []
depends_on:
- name: embedded_sdk_install_tests
commands:
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/embedded_sdk_tests_s3_tar.sh"
# Upload it so we can download from EVG.
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/build/embedded-sdk-tests.tgz"
remote_file: ${project}/embedded-sdk-test/${build_variant}/${revision}/mongo-embedded-sdk-test-${version}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: "Embedded SDK Tests Tar Archive"
- name: embedded_sdk_run_tests
tags: []
depends_on:
- name: embedded_sdk_install_tests
commands:
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/embedded_sdk_run_tests.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/embedded_sdk_run_tests_post.sh"
- name: embedded_sdk_s3_put_latest
tags: []
depends_on:
- name: embedded_sdk_run_tests
commands:
# A second put, this time to -latest, to give devs a reasonable
# way to get the most recent build.
- command: s3.put
params:
visibility: none
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/build/embedded-sdk.tgz"
remote_file: ${project}/embedded-sdk/mongo-${build_variant}-latest.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/x-gzip}
- name: embedded_sdk_tests_s3_put_latest
tags: []
depends_on:
- name: embedded_sdk_run_tests
commands:
# A second put, this time to -latest, to give devs a reasonable
# way to get the most recent build.
- command: s3.put
params:
visibility: none
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/build/embedded-sdk-tests.tgz"
remote_file: ${project}/embedded-sdk-test/mongo-${build_variant}-latest.tgz
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/x-gzip}
- name: stitch_support_create_lib
tags: []
commands:
- *f_expansions_write
- func: "scons compile"
vars:
targets: install-stitch-support install-stitch-support-debug install-stitch-support-dev
task_compile_flags: >-
--dbg=off
--link-model=dynamic-sdk
--enable-free-mon=off
--ssl=off
--enable-http-client=off
--modules=
--separate-debug
DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION'
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/stitch_support_create_lib_tar.sh"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/build/stitch-support.tgz"
remote_file: "${project}/stitch-support/${build_variant}/${revision}/stitch-support-${version}.tgz"
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: "Stitch Support Library"
- name: stitch_support_install_tests
tags: []
depends_on:
- name: stitch_support_create_lib
commands:
- func: "scons compile"
vars:
targets: install-stitch-support-test
compiling_for_test: true
task_compile_flags: >-
--dbg=off
--enable-free-mon=off
--ssl=off
--enable-http-client=off
--modules=
--separate-debug
DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION'
- name: stitch_support_run_tests
tags: []
depends_on:
- name: stitch_support_install_tests
commands:
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/stitch_support_run_tests.sh"
- name: compile_benchmarks
tags: []
depends_on: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "get buildnumber"
- func: "f_expansions_write"
- func: "set up credentials"
- func: "use WiredTiger develop" # noop if ${use_wt_develop} is not "true"
- func: "set up win mount script"
- func: "generate compile expansions"
# Then we load the generated version data into the agent so we can use it in task definitions
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-benchmarks
compiling_for_test: true
- func: "attach scons logs"
- command: archive.targz_pack
params:
target: "benchmarks.tgz"
source_dir: "src"
include:
- "./build/benchmarks.txt"
- "./build/**_bm"
- "./build/**_bm.gcno"
- "./build/**_bm.exe"
- "./build/**_bm.pdb"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: benchmarks.tgz
remote_file: ${project}/${build_variant}/${revision}/benchmarks/${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: Benchmarks
## lint ##
- name: lint_pylinters
tags: []
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "scons lint"
vars:
targets: lint-pylinters
- name: lint_clang_format
tags: []
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "scons lint"
vars:
targets: lint-clang-format
- name: lint_eslint
tags: []
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "scons lint"
vars:
targets: lint-eslint
- name: lint_cpplint
tags: []
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "scons lint"
vars:
targets: lint-lint.py
- name: lint_yaml
tags: []
depends_on: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "f_expansions_write"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/lint_yaml.sh"
- name: lint_shellscripts
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/lint_shellscripts.sh"
- name: lint_errorcodes
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "scons lint"
vars:
targets: lint-errorcodes
- name: test_api_version_compatibility
tags: []
depends_on:
- name: archive_dist_test_debug
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "do setup"
- func: "f_expansions_write"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/check_idl_compat.sh"
- name: burn_in_tests_gen
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "configure evergreen api credentials"
- *do_multiversion_setup
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/burn_in_tests.sh"
- command: archive.targz_pack
params:
target: src/burn_in_tests_gen.tgz
source_dir: src
include:
- burn_in_tests_gen.json
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/burn_in_tests_gen.tgz
remote_file: ${project}/${build_variant}/${revision}/burn_in_tests_gen/burn_in_tests_gen-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Burn_in_tests Task Config - Execution ${execution}
- command: generate.tasks
params:
files:
- src/burn_in_tests_gen.json
- name: burn_in_tests_multiversion_gen
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "f_expansions_write"
- func: "configure evergreen api credentials"
- func: "do multiversion setup"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/burn_in_tests_multiversion.sh"
- command: archive.targz_pack
params:
target: src/burn_in_tests_multiversion_gen.tgz
source_dir: src/generated_resmoke_config
include:
- burn_in_tests_multiversion_gen.json
- command: archive.targz_pack
params:
target: src/generate_tasks_config.tgz
source_dir: src/generated_resmoke_config
include:
- "*"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/generate_tasks_config.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/burn_in_tests_multiversion_gen-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
optional: true
display_name: Generated Multiversion Resmoke.py Suite Config - Execution ${execution}
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/burn_in_tests_multiversion_gen.tgz
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/burn_in_tests_multiversion_gen_config-${build_id}.tgz
bucket: mciuploads
permissions: public-read
content_type: application/gzip
display_name: Burn_in_tests Task Config - Execution ${execution}
- command: generate.tasks
params:
files:
- src/generated_resmoke_config/burn_in_tests_multiversion_gen.json
- <<: *benchmark_template
name: benchmarks_orphaned
tags: ["benchmarks"]
commands:
- func: "do benchmark setup"
- func: "run tests"
vars:
exec_timeout_secs: 10800 # 3 hour timeout.
resmoke_args: --suites=benchmarks
resmoke_jobs_max: 1
- func: "send benchmark results"
- <<: *benchmark_template
name: benchmarks_sharding
tags: ["benchmarks"]
commands:
- func: "do benchmark setup"
- func: "run tests"
vars:
resmoke_args: --suites=benchmarks_sharding
resmoke_jobs_max: 1
- func: "send benchmark results"
- <<: *benchmark_template
name: benchmarks_cst
tags: ["benchmarks"]
commands:
- func: "do benchmark setup"
- func: "run tests"
vars:
resmoke_args: --suites=benchmarks_cst
resmoke_jobs_max: 1
- func: "send benchmark results"
- <<: *run_jepsen_template
name: jepsen_register_findAndModify
tags: ["jepsen"]
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_read_with_find_and_modify: --read-with-find-and-modify
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: register
- <<: *run_jepsen_template
name: jepsen_register_linearizableRead
tags: ["jepsen"]
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_read_concern: --read-concern linearizable
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: register
- <<: *run_jepsen_template
name: jepsen_set_linearizableRead
tags: ["jepsen"]
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_read_concern: --read-concern linearizable
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: set
- <<: *run_jepsen_template
name: jepsen_read-concern-majority
tags: ["jepsen"]
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: read-concern-majority
# Smoke test to ensure the Server still works with Jepsen
- <<: *run_jepsen_template
name: jepsen-smoke
tags: []
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: read-concern-majority
jepsen_time_limit: --time-limit 120
- <<: *run_jepsen_template
name: jepsen_read-concern-majority_w1
tags: ["jepsen"]
commands:
- func: "do setup"
- func: "do jepsen setup"
- func: "run jepsen test"
vars:
<<: *jepsen_config_vars
jepsen_storage_engine: --storage-engine wiredTiger
jepsen_test_name: read-concern-majority
jepsen_write_concern: --write-concern w1
## initial sync multiversion fuzzer ##
- <<: *jstestfuzz_template
name: initial_sync_multiversion_fuzzer_gen
tags: ["multiversion_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: initsync-fuzzer
suite: initial_sync_multiversion_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: initial_sync_multiversion_fuzzer
task_path_suffix: "/data/multiversion"
## initial sync generational fuzzer ##
- <<: *jstestfuzz_template
name: initial_sync_fuzzer_gen
tags: []
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: initsync-fuzzer
suite: initial_sync_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: initial_sync_fuzzer
## Standalone generational fuzzer for multiversion aggregation pipelines ##
- <<: *jstestfuzz_template
name: aggregation_multiversion_fuzzer_gen
tags: ["aggfuzzer", "common", "multiversion"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-fuzzer
name: aggregation_multiversion_fuzzer
task_path_suffix: "/data/multiversion"
## Standalone generational fuzzer for multiversion aggregation expressions ##
- <<: *jstestfuzz_template
name: aggregation_expression_multiversion_fuzzer_gen
tags: ["aggfuzzer", "multiversion"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-expr-fuzzer
name: aggregation_expression_multiversion_fuzzer
task_path_suffix: "/data/multiversion"
## Standalone generational fuzzer for checking optimized and unoptimized expression equivalence
- <<: *jstestfuzz_template
name: aggregation_expression_optimization_fuzzer_gen
tags: ["aggfuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode optimization
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-expr-fuzzer
name: aggregation_expression_optimization_fuzzer
## Standalone generational fuzzer for checking optimized and unoptimized aggregation pipelines
- <<: *jstestfuzz_template
name: aggregation_optimization_fuzzer_gen
tags: ["aggfuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode optimization
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-fuzzer
name: aggregation_optimization_fuzzer
## Standalone fuzzer for checking wildcard index correctness ##
- <<: *jstestfuzz_template
name: aggregation_wildcard_fuzzer_gen
tags: ["aggfuzzer", "common", "wildcard"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode wildcard
npm_command: agg-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: aggregation_wildcard_fuzzer
## Standalone fuzzer for checking timeseries optimizations correctness ##
- <<: *jstestfuzz_template
name: aggregation_timeseries_fuzzer_gen
tags: ["aggfuzzer", "common", "timeseries"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode timeseries
npm_command: agg-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: aggregation_timeseries_fuzzer
## jstestfuzz standalone fuzzer for checking find and aggregate equivalence ##
- <<: *jstestfuzz_template
name: query_fuzzer_standalone_gen
tags: ["query_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode standalone
npm_command: query-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: query_fuzzer_standalone
## jstestfuzz sharded fuzzer for checking find and aggregate equivalence ##
- <<: *jstestfuzz_template
name: query_fuzzer_sharded_gen
tags: ["query_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
# TODO SERVER-57161 re-enable original fuzzer settings
# num_files: 5
# num_tasks: 5
num_files: 0
num_tasks: 1
jstestfuzz_vars: --diffTestingMode sharded
npm_command: query-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: query_fuzzer_sharded
## jstestfuzz standalone update generational fuzzer ##
- <<: *jstestfuzz_template
name: update_fuzzer_gen
tags: ["updatefuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
npm_command: update-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: update_fuzzer
task_path_suffix: "/data/multiversion"
## jstestfuzz replication update generational fuzzer ##
- <<: *jstestfuzz_template
name: update_fuzzer_replication_gen
tags: ["updatefuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
npm_command: update-fuzzer
suite: generational_fuzzer_replication
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: update_fuzzer_replication
task_path_suffix: "/data/multiversion"
## rollback multiversion fuzzer ##
- <<: *jstestfuzz_template
name: rollback_multiversion_fuzzer_gen
tags: ["multiversion_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 3
num_tasks: 5
npm_command: rollback-fuzzer
suite: rollback_multiversion_fuzzer
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
# index build commit quorum.
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
name: rollback_multiversion_fuzzer
task_path_suffix: "/data/multiversion"
## rollback generational fuzzer ##
- <<: *jstestfuzz_template
name: rollback_fuzzer_gen
tags: ["rollbackfuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 3
num_tasks: 5
npm_command: rollback-fuzzer
suite: rollback_fuzzer
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
# index build commit quorum.
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
name: rollback_fuzzer
## rollback generational fuzzer with clean shutdowns ##
- <<: *jstestfuzz_template
name: rollback_fuzzer_clean_shutdowns_gen
tags: ["rollbackfuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 1
num_tasks: 4
jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50
npm_command: rollback-fuzzer
suite: rollback_fuzzer_clean_shutdowns
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
# index build commit quorum.
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
name: rollback_fuzzer_clean_shutdowns
## rollback generational fuzzer with unclean shutdowns ##
- <<: *jstestfuzz_template
name: rollback_fuzzer_unclean_shutdowns_gen
tags: ["rollbackfuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 1
num_tasks: 4
jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50
npm_command: rollback-fuzzer
suite: rollback_fuzzer_unclean_shutdowns
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
# index build commit quorum.
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
name: rollback_fuzzer_unclean_shutdowns
## jstestfuzz ##
- <<: *jstestfuzz_template
name: jstestfuzz_gen
tags: ["jstestfuzz", "common"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: jstestfuzz
name: jstestfuzz
## jstestfuzz concurrent ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_gen
tags: ["jstestfuzz", "common"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent
## jstestfuzz concurrent replica set ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_replication_gen
tags: ["jstestfuzz", "common", "repl"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_replication
## jstestfuzz concurrent replica set with logical session ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_replication_session_gen
tags: ["jstestfuzz", "session"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_session
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_replication_session
## jstestfuzz concurrent sharded cluster ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_sharded_gen
tags: ["jstestfuzz", "common", "sharding"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_sharded
## jstestfuzz concurrent sharded cluster causal consistency ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_sharded_causal_consistency_gen
tags: ["jstestfuzz", "causal"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_causal_consistency
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_sharded_causal_consistency
## jstestfuzz concurrent sharded cluster continuous stepdown ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_sharded_continuous_stepdown_gen
tags: ["jstestfuzz", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 2
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_continuous_stepdown
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_sharded_continuous_stepdown
## jstestfuzz concurrent sharded cluster with logical session ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_sharded_session_gen
tags: ["jstestfuzz", "session"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: ${jstestfuzz_concurrent_num_files|10}
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_session
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
name: jstestfuzz_concurrent_sharded_session
# jstestfuzz interrupt #
- <<: *jstestfuzz_template
name: jstestfuzz_interrupt_gen
tags: ["jstestfuzz", "interrupt"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_interrupt
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_interrupt
# jstestfuzz interrupt #
- <<: *jstestfuzz_template
name: jstestfuzz_interrupt_replication_gen
tags: ["jstestfuzz", "interrupt"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_interrupt_replication
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_interrupt_replication
# jstestfuzz write conflict #
- <<: *jstestfuzz_template
name: jstestfuzz_replication_write_conflicts_gen
tags: ["jstestfuzz", "write_conflict"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_write_conflicts
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_replication_write_conflicts
# jstestfuzz concurrent conflict #
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_replication_write_conflicts_gen
tags: ["jstestfuzz", "write_conflict"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_write_conflicts
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}' --numClientsPerFixture=10"
name: jstestfuzz_concurrent_replication_write_conflicts
# jstestfuzz interrupt with flow control engaged #
- <<: *jstestfuzz_template
name: jstestfuzz_interrupt_replication_flow_control_gen
tags: ["jstestfuzz", "interrupt", "flow_control"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 2
num_tasks: 1
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_interrupt_replication
resmoke_args: "--flowControlTicketOverride=1 --storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_interrupt_replication_flow_control
## jstestfuzz sharded cluster continuous stepdown with flow control engaged ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_continuous_stepdown_flow_control_gen
tags: ["jstestfuzz", "flow_control", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 2
num_tasks: 1
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_continuous_stepdown
resmoke_args: >-
--flowControlTicketOverride=3
--storageEngine=wiredTiger
--mongodSetParameters="{logComponentVerbosity: {command: 2}}"
name: jstestfuzz_sharded_continuous_stepdown_flow_control
## jstestfuzz concurrent sharded cluster continuous stepdown with flow control engaged ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_sharded_continuous_stepdown_flow_control_gen
tags: ["jstestfuzz", "flow_control", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 2
num_tasks: 1
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_continuous_stepdown
resmoke_args: >-
--flowControlTicketOverride=30
--storageEngine=wiredTiger
--numClientsPerFixture=10
name: jstestfuzz_concurrent_sharded_continuous_stepdown_flow_control
# jstestfuzz replication continuous stepdown with flow control engaged #
- <<: *jstestfuzz_template
name: jstestfuzz_replication_continuous_stepdown_flow_control_gen
tags: ["jstestfuzz", "repl", "flow_control", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 2
num_tasks: 1
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_continuous_stepdown
resmoke_args: >-
--flowControlTicketOverride=1
--storageEngine=wiredTiger
--mongodSetParameters="{logComponentVerbosity: {command: 2}}"
name: jstestfuzz_replication_continuous_stepdown_flow_control
## jstestfuzz concurrent replication continuous stepdown with flow control engaged ##
- <<: *jstestfuzz_template
name: jstestfuzz_concurrent_replication_continuous_stepdown_flow_control_gen
tags: ["jstestfuzz", "repl", "flow_control", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 2
num_tasks: 1
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_continuous_stepdown
resmoke_args: >-
--flowControlTicketOverride=10
--storageEngine=wiredTiger
--numClientsPerFixture=10
name: jstestfuzz_concurrent_replication_continuous_stepdown_flow_control
## jstestfuzz replica set ##
- <<: *jstestfuzz_template
name: jstestfuzz_replication_gen
tags: ["jstestfuzz", "common", "repl"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_replication
## jstestfuzz replica set ##
- <<: *jstestfuzz_template
name: jstestfuzz_replication_multiversion_gen
tags: ["jstestfuzz_multiversion_gen"]
commands:
- func: "generate implicit multiversion tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
suite: jstestfuzz_replication
is_jstestfuzz: true
use_multiversion: /data/multiversion
task_path_suffix: /data/multiversion
npm_command: jstestfuzz
## jstestfuzz initial sync replica set ##
- <<: *jstestfuzz_template
name: jstestfuzz_replication_initsync_gen
tags: ["jstestfuzz", "initsync"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 8
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_initsync
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_replication_initsync
## jstestfuzz replica set with logical session ##
- <<: *jstestfuzz_template
name: jstestfuzz_replication_session_gen
tags: ["jstestfuzz", "session"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_replication_session
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_replication_session
## jstestfuzz sharded cluster ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_gen
tags: ["jstestfuzz", "common", "sharding"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_sharded
## jstestfuzz sharded multiversion cluster ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_multiversion_gen
tags: [jstestfuzz_multiversion_gen]
commands:
- func: "generate implicit multiversion tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
suite: jstestfuzz_sharded
is_jstestfuzz: true
use_multiversion: /data/multiversion
task_path_suffix: /data/multiversion
npm_command: jstestfuzz
## jstestfuzz sharded cluster causal consistency ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_causal_consistency_gen
tags: ["jstestfuzz", "causal"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_causal_consistency
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_sharded_causal_consistency
## jstestfuzz sharded cluster continuous stepdown ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_continuous_stepdown_gen
tags: ["jstestfuzz", "stepdowns"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_continuous_stepdown
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_sharded_continuous_stepdown
## jstestfuzz sharded cluster with logical session ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_session_gen
tags: ["jstestfuzz", "session"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
suite: jstestfuzz_sharded_session
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: jstestfuzz_sharded_session
## resharding generational fuzzer ##
- <<: *jstestfuzz_template
name: resharding_fuzzer_inplace_gen
tags: ["resharding_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: resharding-fuzzer
jstestfuzz_vars: --numDonors 2 --numRecipients 2 --inPlace yes
suite: resharding_fuzzer
resmoke_args: --storageEngine=wiredTiger
name: resharding_fuzzer_inplace
- <<: *jstestfuzz_template
name: resharding_fuzzer_split_gen
tags: ["resharding_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: resharding-fuzzer
jstestfuzz_vars: --numDonors 1 --numRecipients 2 --inPlace no
suite: resharding_fuzzer
resmoke_args: --storageEngine=wiredTiger
name: resharding_fuzzer_split
- <<: *jstestfuzz_template
name: resharding_fuzzer_merge_gen
tags: ["resharding_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: resharding-fuzzer
jstestfuzz_vars: --numDonors 2 --numRecipients 1 --inPlace no
suite: resharding_fuzzer
resmoke_args: --storageEngine=wiredTiger
name: resharding_fuzzer_merge
- <<: *jstestfuzz_template
name: resharding_fuzzer_shuffle_gen
tags: ["resharding_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: resharding-fuzzer
jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace no
suite: resharding_fuzzer
resmoke_args: --storageEngine=wiredTiger
name: resharding_fuzzer_shuffle
- <<: *jstestfuzz_template
name: resharding_fuzzer_idempotency_gen
tags: ["resharding_fuzzer"]
commands:
- func: "generate fuzzer tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 5
npm_command: resharding-fuzzer
jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace no
suite: resharding_fuzzer_idempotency
resmoke_args: >-
--storageEngine=wiredTiger
name: resharding_fuzzer_idempotency
## Tests that the multiversion test generation logic is not broken.
- name: multiversion_sanity_check_gen
tags: []
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: replica_sets_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger --includeWithAnyTags=multiversion_sanity_check
task_path_suffix: /data/multiversion
- name: replica_sets_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: replica_sets_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
# Check that the mutational fuzzer can parse JS files modified in a patch build.
- name: lint_fuzzer_sanity_patch
tags: []
patch_only: true
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "get added and modified patch files"
- func: "setup jstestfuzz"
- func: "lint fuzzer sanity patch"
# Check that the mutational fuzzer can parse all JS filess.
- name: lint_fuzzer_sanity_all
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "setup jstestfuzz"
- func: "lint fuzzer sanity all"
## integration test suites ##
- <<: *task_template
name: aggregation
tags: ["aggregation", "common"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_disabled_optimization
tags: ["aggregation", "common"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_disabled_optimization --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_ese
tags: ["aggregation", "encrypt"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_ese --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_ese_gcm
tags: ["aggregation", "encrypt", "gcm"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_ese_gcm --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_auth
tags: ["aggregation", "auth", "common"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_auth --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_facet_unwind_passthrough
tags: ["aggregation", "unwind"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_facet_unwind_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_mongos_passthrough
tags: ["aggregation", "no_async"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_mongos_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_one_shard_sharded_collections
tags: ["aggregation", "no_async", "sharded"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_one_shard_sharded_collections --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_read_concern_majority_passthrough
tags: ["aggregation", "read_write_concern"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_read_concern_majority_passthrough --storageEngine=wiredTiger
resmoke_jobs_factor: 0.5
- name: aggregation_secondary_reads_gen
tags: ["aggregation", "secondary_reads"]
depends_on:
- name: aggregation
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: aggregation_sharded_collections_passthrough
tags: ["aggregation", "common", "sharded"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_sharded_collections_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: aggregation_sharded_collections_causally_consistent_passthrough
tags: ["aggregation", "secondary_reads", "sharded"]
depends_on:
- name: aggregation
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=aggregation_sharded_collections_causally_consistent_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: audit
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=audit --storageEngine=wiredTiger
- name: auth_gen
tags: ["auth"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: burn_in_tags_gen
tags: []
depends_on:
- name: archive_dist_test_debug
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "configure evergreen api credentials"
- func: "do multiversion setup"
- func: "generate burn in tags"
vars:
max_revisions: 25
repeat_tests_secs: 600
repeat_tests_min: 2
repeat_tests_max: 1000
- name: selected_tests_gen
tags: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "generate selected tests"
- name: auth_audit_gen
tags: ["auth", "audit"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: change_streams
tags: ["change_streams"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_multiversion_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: change_streams
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- <<: *task_template
name: change_streams_update_v1_oplog
tags: ["change_streams"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_update_v1_oplog --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_mongos_sessions_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_mongos_sessions_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_mongos_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_mongos_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_secondary_reads
tags: ["change_streams", "secondary_reads"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_secondary_reads --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_sharded_collections_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_sharded_collections_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_sharded_collections_multiversion_passthrough_gen
tags: ["multiversion_passthrough"]
depends_on:
- name: change_streams_multiversion_gen
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: change_streams_sharded_collections_passthrough
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- <<: *task_template
name: change_streams_whole_db_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_db_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_db_mongos_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams_mongos_passthrough
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_db_mongos_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_db_secondary_reads_passthrough
tags: ["change_streams", "secondary_reads"]
depends_on:
- name: change_streams_secondary_reads
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_db_secondary_reads_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_db_sharded_collections_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams_sharded_collections_passthrough
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_db_sharded_collections_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_cluster_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_cluster_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_cluster_mongos_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams_mongos_passthrough
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_cluster_mongos_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_cluster_secondary_reads_passthrough
tags: ["change_streams", "secondary_reads"]
depends_on:
- name: change_streams_secondary_reads
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_cluster_secondary_reads_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_whole_cluster_sharded_collections_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams_sharded_collections_passthrough
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_whole_cluster_sharded_collections_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_multi_stmt_txn_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_multi_stmt_txn_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_multi_stmt_txn_mongos_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_multi_stmt_txn_mongos_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: change_streams_multi_stmt_txn_sharded_collections_passthrough
tags: ["change_streams"]
depends_on:
- name: change_streams
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=change_streams_multi_stmt_txn_sharded_collections_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: disk_wiredtiger
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=disk_wiredtiger --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: ese
tags: ["encrypt"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=ese --storageEngine=wiredTiger
- <<: *task_template
name: failpoints
tags: ["misc_js"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=failpoints --storageEngine=wiredTiger
- <<: *task_template
name: failpoints_auth
tags: ["auth"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=failpoints_auth --storageEngine=wiredTiger
- <<: *task_template
name: integration_tests_standalone
tags: ["integration", "standalone"]
commands:
- command: manifest.load
- *git_get_project
- func: "do setup"
- func: "set up win mount script"
- func: "generate compile expansions" # Generate compile expansions needs to be run to mount the shared scons cache.
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-integration-tests
compiling_for_test: true
- func: "attach scons logs"
- func: "run tests"
vars:
resmoke_args: --suites=integration_tests_standalone --storageEngine=wiredTiger
- <<: *task_template
name: integration_tests_standalone_audit
tags: ["integration", "audit"]
commands:
- command: manifest.load
- *git_get_project
- func: "do setup"
- func: "set up win mount script"
- func: "generate compile expansions" # Generate compile expansions needs to be run to mount the shared scons cache.
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-integration-tests
compiling_for_test: true
- func: "attach scons logs"
- func: "run tests"
vars:
resmoke_args: --suites=integration_tests_standalone_audit --storageEngine=wiredTiger
- <<: *task_template
name: integration_tests_replset
tags: ["integration"]
commands:
- command: manifest.load
- *git_get_project
- func: "do setup"
- func: "set up win mount script"
- func: "generate compile expansions" # Generate compile expansions needs to be run to mount the shared scons cache.
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-integration-tests
compiling_for_test: true
- func: "attach scons logs"
- func: "run tests"
vars:
resmoke_args: --suites=integration_tests_replset --storageEngine=wiredTiger
- <<: *task_template
name: integration_tests_replset_ssl_auth
tags: ["integration"]
commands:
- command: manifest.load
- *git_get_project
- func: "do setup"
- func: "set up win mount script"
- func: "generate compile expansions" # Generate compile expansions needs to be run to mount the shared scons cache.
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-integration-tests
compiling_for_test: true
- func: "attach scons logs"
- func: "run tests"
vars:
resmoke_args: --suites=integration_tests_replset_ssl_auth --storageEngine=wiredTiger
- <<: *task_template
name: integration_tests_sharded
tags: ["integration", "sharded"]
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- func: "do setup"
- func: "set up win mount script"
- func: "generate compile expansions" # Generate compile expansions needs to be run to mount the shared scons cache.
- func: "apply compile expansions"
- func: "scons compile"
vars:
targets: install-integration-tests
compiling_for_test: true
- func: "attach scons logs"
- func: "run tests"
vars:
resmoke_args: --suites=integration_tests_sharded --storageEngine=wiredTiger
- <<: *task_template
name: external_auth
tags: []
commands:
- *f_expansions_write
- func: "do setup"
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/external_auth_pip.sh"
- func: "run tests"
vars:
resmoke_args: --suites=external_auth --excludeWithAnyTags=requires_domain_controller --storageEngine=wiredTiger
- <<: *task_template
name: external_auth_aws
tags: []
commands:
- *f_expansions_write
- func: "do setup"
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
silent: true
args:
- "src/evergreen/external_auth_aws_setup.sh"
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/external_auth_aws_pip.sh"
- func: "run tests"
vars:
resmoke_args: --suites=external_auth_aws --storageEngine=wiredTiger
- <<: *task_template
name: external_auth_windows
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=external_auth --includeWithAnyTags=requires_domain_controller --storageEngine=wiredTiger
- <<: *task_template
name: jsCore
tags: ["jscore", "common"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core --storageEngine=wiredTiger
- <<: *task_template
name: config_fuzzer_jsCore
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core --storageEngine=wiredTiger --fuzzMongodConfigs
- <<: *task_template
name: config_fuzzer_concurrency
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency --storageEngine=wiredTiger --fuzzMongodConfigs
- <<: *task_template
name: config_fuzzer_concurrency_replication
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_replication --storageEngine=wiredTiger --fuzzMongodConfigs
- <<: *task_template
name: config_fuzzer_replica_sets_jscore_passthrough
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_jscore_passthrough --storageEngine=wiredTiger --fuzzMongodConfigs
- <<: *task_template
name: jsCore_ese
tags: ["jscore", "encrypt"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_ese --storageEngine=wiredTiger
- <<: *task_template
name: jsCore_ese_gcm
tags: ["jscore", "encrypt", "gcm"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_ese_gcm --storageEngine=wiredTiger
- <<: *task_template
name: jsCore_auth
tags: ["jscore", "auth", "common"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_auth
- <<: *task_template
name: jsCore_minimum_batch_size
tags: ["jscore"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_minimum_batch_size --storageEngine=wiredTiger
- <<: *task_template
name: jsCore_txns
tags: ["jscore", "common", "txns"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_txns --storageEngine=wiredTiger
- <<: *task_template
name: jsCore_txns_large_txns_format
tags: ["jscore", "txns", "multi_oplog"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=core_txns_large_txns_format --storageEngine=wiredTiger
- <<: *task_template
name: sharded_jscore_txns
tags: ["sharding", "jscore", "txns"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_jscore_txns --storageEngine=wiredTiger
- <<: *task_template
name: sharded_jscore_txns_without_snapshot
tags: ["sharding", "wo_snapshot", "jscore"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_jscore_txns --storageEngine=wiredTiger --excludeWithAnyTags=uses_snapshot_read_concern
- <<: *task_template
name: sharded_jscore_txns_sharded_collections
tags: ["sharding", "jscore", "txns"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_jscore_txns_sharded_collections --storageEngine=wiredTiger
- <<: *task_template
name: cst_jscore_passthrough
tags: ["jscore"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=cst_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: libunwind_tests
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=libunwind --storageEngine=wiredTiger
- <<: *task_template
name: causally_consistent_jscore_txns_passthrough
tags: ["causally_consistent"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=causally_consistent_jscore_txns_passthrough --storageEngine=wiredTiger
- name: sharded_causally_consistent_jscore_txns_passthrough_gen
tags: ["sharding", "jscore", "causally_consistent", "txns"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: sharded_causally_consistent_jscore_txns_passthrough_without_snapshot_gen
tags: ["sharding", "wo_snapshot", "causally_consistent", "jscore"]
commands:
- func: "generate resmoke tasks"
vars:
suite: sharded_causally_consistent_jscore_txns_passthrough
resmoke_args: --storageEngine=wiredTiger --excludeWithAnyTags=uses_snapshot_read_concern
- name: causally_consistent_hedged_reads_jscore_passthrough_gen
tags: ["causally_consistent", "sharding", "jscore"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: sharded_collections_causally_consistent_jscore_txns_passthrough
tags: ["sharding", "jscore", "causally_consistent", "txns"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_collections_causally_consistent_jscore_txns_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_jscore_passthrough
tags: ["replica_sets", "common", "san", "large", "ignore_on_linux_debug_variant"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_jscore_passthrough --storageEngine=wiredTiger
- name: replica_sets_reconfig_jscore_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_reconfig_kill_primary_jscore_passthrough
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_reconfig_kill_primary_jscore_passthrough --storageEngine=wiredTiger
- name: replica_sets_api_version_jscore_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
fallback_num_sub_suites: 5
- name: replica_sets_jscore_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_large_txns_format_jscore_passthrough
tags: ["replica_sets", "multi_oplog", "large", "non_maj_read", "san"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_large_txns_format_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_multi_stmt_txn_jscore_passthrough
tags: ["replica_sets", "large"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_multi_stmt_txn_jscore_passthrough --storageEngine=wiredTiger
- name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen
tags: ["replica_sets", "non_maj_read"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough
tags: ["replica_sets", "non_maj_read", "non_live_record"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough
tags: ["replica_sets", "non_maj_read"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough --storageEngine=wiredTiger
- name: replica_sets_update_v1_oplog_jscore_passthrough_gen
tags: ["replica_sets", "non_maj_read"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_initsync_jscore_passthrough_gen
tags: ["replica_sets", "san", "large"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_initsync_static_jscore_passthrough
tags: ["replica_sets", "san", "large"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_initsync_static_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_kill_primary_jscore_passthrough
tags: ["replica_sets", "large", "non_maj_read", "non_live_record"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_kill_primary_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_terminate_primary_jscore_passthrough
tags: ["replica_sets", "large", "non_maj_read"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_terminate_primary_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_kill_secondaries_jscore_passthrough
tags: ["replica_sets", "san", "large", "non_live_record"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_kill_secondaries_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: mongosTest
tags: ["misc_js", "non_read_maj", "non_live_record"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=mongos_test
- name: multiversion_auth_gen
tags: ["auth", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
use_multiversion: /data/multiversion
- name: multiversion_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
use_multiversion: /data/multiversion
# Tests the runFeatureFlagMultiversionTest helper.
# This requires the 'featureFlagToaster' and 'featureFlagSpoon' parameters to be set to true on
# build variants that enable this task.
- name: feature_flag_multiversion_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
use_multiversion: /data/multiversion
- name: unittest_shell_hang_analyzer_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
suite: unittest_shell_hang_analyzer
resmoke_args: --storageEngine=wiredTiger
- name: noPassthrough_gen
tags: ["misc_js"]
commands:
- func: "generate resmoke tasks"
vars:
suite: no_passthrough
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
# Only run hot_backups tests for hot_backups variant.
- name: noPassthroughHotBackups_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
suite: no_passthrough
resmoke_args: --storageEngine=wiredTiger src/mongo/db/modules/*/jstests/hot_backups/*.js
use_large_distro: "true"
- name: noPassthroughWithMongod_gen
tags: ["misc_js"]
commands:
- func: "generate resmoke tasks"
vars:
suite: no_passthrough_with_mongod
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: slow1_gen
tags: ["misc_js", "non_win_dbg"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: serial_run
tags: ["misc_js", "non_win_dbg"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=serial_run --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: sharded_collections_jscore_passthrough
tags: ["sharding", "jscore"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_collections_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: sharded_collections_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: sharded_collections_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- <<: *task_template
name: sharding_jscore_passthrough
tags: ["sharding", "jscore", "common"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharding_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: sharding_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: sharding_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- name: sharding_api_version_jscore_passthrough_gen
tags: ["sharding", "jscore"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
fallback_num_sub_suites: 5
- <<: *task_template
name: sharding_update_v1_oplog_jscore_passthrough
tags: ["sharding", "jscore"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharding_jscore_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: sharded_multi_stmt_txn_jscore_passthrough
tags: ["sharding", "jscore", "multi_stmt"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sharded_multi_stmt_txn_jscore_passthrough --storageEngine=wiredTiger
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
tags: ["multi_shard", "multi_stmt", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 0 # No cap on number of jobs.
- name: multi_shard_local_read_write_multi_stmt_txn_jscore_passthrough_gen
tags: ["multi_shard", "common"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
tags: ["multi_stmt"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen
tags: ["multi_shard"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: multi_shard_multi_stmt_txn_stepdown_primary_jscore_passthrough_gen
tags: ["multi_shard"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: tenant_migration_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: tenant_migration_causally_consistent_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: tenant_migration_multi_stmt_txn_jscore_passthrough_gen
tags: ["tenant_migration", "txn"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: tenant_migration_stepdown_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: tenant_migration_terminate_primary_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
fallback_num_sub_suites: 10
- name: tenant_migration_kill_primary_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
fallback_num_sub_suites: 10
- name: parallel_gen
tags: ["misc_js"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency
tags: ["concurrency", "common"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_metrics
tags: ["concurrency"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_metrics --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_replication_metrics
tags: ["concurrency", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_replication_metrics --storageEngine=wiredTiger
resmoke_jobs_max: 1
- name: concurrency_replication_gen
tags: ["concurrency", "common", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_replication_multiversion_gen
tags: [multiversion_passthrough]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: concurrency_replication
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- name: concurrency_replication_causal_consistency_gen
tags: ["concurrency", "repl", "large", "non_live_record"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_replication_multi_stmt_txn
tags: ["concurrency", "common", "repl", "txn"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: "--suites=concurrency_replication_multi_stmt_txn --storageEngine=wiredTiger"
resmoke_jobs_max: 1
# TODO: SERVER-35964 revert the addition of UBSAN concurrency_replication suites.
- <<: *task_template
name: concurrency_replication_ubsan
tags: ["concurrency", "ubsan", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_replication_ubsan --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_replication_causal_consistency_ubsan
tags: ["concurrency", "ubsan", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_replication_causal_consistency_ubsan --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_replication_multi_stmt_txn_ubsan
tags: ["concurrency", "ubsan", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=concurrency_replication_multi_stmt_txn_ubsan --storageEngine=wiredTiger
resmoke_jobs_max: 1
- name: concurrency_replication_wiredtiger_cursor_sweeps_gen
tags: ["concurrency", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_replication_wiredtiger_eviction_debug_gen
tags: ["concurrency", "repl", "debug_only"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_replication_gen
tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_replication_multiversion_gen
tags: ["multiversion_passthrough", "sharded"]
commands:
- func: "generate implicit multiversion tasks"
vars:
suite: concurrency_sharded_replication
resmoke_args: --storageEngine=wiredTiger
task_path_suffix: /data/multiversion
- name: concurrency_sharded_replication_with_balancer_gen
tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_replication_no_txns_gen
tags: ["concurrency", "no_txns", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
suite: concurrency_sharded_replication
resmoke_args: "--excludeWithAnyTags=uses_transactions --storageEngine=wiredTiger"
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_replication_no_txns_with_balancer_gen
tags: ["concurrency", "no_txns", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
suite: concurrency_sharded_replication_with_balancer
resmoke_args: "--excludeWithAnyTags=uses_transactions --storageEngine=wiredTiger"
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_clusterwide_ops_add_remove_shards_gen
tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_causal_consistency_gen
tags: ["concurrency", "non_live_record", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_causal_consistency_and_balancer_gen
tags: ["concurrency", "large", "non_live_record", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_with_stepdowns_gen
tags: ["concurrency", "stepdowns", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_with_stepdowns_and_balancer_gen
tags: ["concurrency", "stepdowns", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- name: concurrency_sharded_terminate_primary_with_balancer_gen
tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_kill_primary_with_balancer_gen
tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_multi_stmt_txn_gen
tags: ["concurrency", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_multi_stmt_txn_with_balancer_gen
tags: ["concurrency", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_local_read_write_multi_stmt_txn_gen
tags: ["concurrency", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_local_read_write_multi_stmt_txn_with_balancer_gen
tags: ["concurrency", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_sharded_multi_stmt_txn_with_stepdowns_gen
tags: ["concurrency", "stepdowns", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_sharded_multi_stmt_txn_terminate_primary_gen
tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_sharded_multi_stmt_txn_kill_primary_gen
tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- name: concurrency_simultaneous_gen
tags: ["concurrency", "common"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_simultaneous_replication
tags: ["concurrency", "common", "large", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: "--suites=concurrency_simultaneous_replication --storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_simultaneous_replication_wiredtiger_cursor_sweeps
tags: ["concurrency", "repl"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: "--suites=concurrency_simultaneous_replication_wiredtiger_cursor_sweeps --storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: concurrency_simultaneous_replication_wiredtiger_eviction_debug
tags: ["concurrency", "repl", "debug_only"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: "--suites=concurrency_simultaneous_replication_wiredtiger_eviction_debug --storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *task_template
name: read_concern_linearizable_passthrough
tags: ["read_write_concern", "linearize", "large"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=read_concern_linearizable_passthrough --storageEngine=wiredTiger
- name: read_concern_majority_passthrough_gen
tags: ["read_write_concern"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: write_concern_majority_passthrough
tags: ["read_write_concern", "large", "write"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=write_concern_majority_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: cwrwc_passthrough
tags: ["read_write_concern", "large", "write"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=cwrwc_passthrough --storageEngine=wiredTiger
- name: cwrwc_rc_majority_passthrough_gen
tags: ["read_write_concern"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: cwrwc_wc_majority_passthrough
tags: ["read_write_concern", "large", "write"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=cwrwc_wc_majority_passthrough --storageEngine=wiredTiger
- name: secondary_reads_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_gen
tags: ["replica_sets", "san", "large"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_ese_gen
tags: ["replica_sets", "encrypt", "san"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_ese_gcm_gen
tags: ["replica_sets", "encrypt", "san", "gcm"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_auth_gen
tags: ["replica_sets", "common", "san", "auth"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_large_txns_format_gen
tags: ["replica_sets", "multi_oplog", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_max_mirroring_gen
tags: ["replica_sets", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: replica_sets_update_v1_oplog_gen
tags: ["replica_sets", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: replica_sets_multiversion_gen
tags: ["random_multiversion_ds"]
commands:
- func: "generate randomized multiversion tasks"
vars:
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
use_multiversion: /data/multiversion
suite: replica_sets_multiversion
- <<: *task_template
name: sasl
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sasl --storageEngine=wiredTiger
- name: sharding_gen
tags: ["sharding", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_multiversion_gen
tags: ["random_multiversion_ds"]
commands:
- func: "generate randomized multiversion tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
use_multiversion: /data/multiversion
suite: sharding_multiversion
- name: sharding_max_mirroring_gen
tags: ["sharding", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_csrs_continuous_config_stepdown_gen
tags: ["sharding", "common", "csrs", "non_live_record"]
commands:
- func: "generate resmoke tasks"
vars:
suite: sharding_continuous_config_stepdown
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_ese_gen
tags: ["sharding", "encrypt"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_ese_gcm_gen
tags: ["sharding", "encrypt", "gcm"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_auth_gen
tags: ["sharding", "auth"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_auth_audit_gen
tags: ["auth", "audit", "non_live_record"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: sharding_last_lts_mongos_and_mixed_shards_gen
tags: ["sharding", "common", "multiversion"]
commands:
- func: "generate explicit multiversion tasks"
vars:
use_large_distro: "true"
use_multiversion: /data/multiversion
resmoke_args: --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
- name: sharding_update_v1_oplog_gen
tags: ["sharding", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: snmp
tags: []
commands:
- *f_expansions_write
- func: "do setup"
- func: "do snmp setup"
- func: "run tests"
vars:
snmp_config_path: SNMPCONFPATH=snmpconf
resmoke_args: --suites=snmp --storageEngine=wiredTiger
- name: ssl_gen
tags: ["encrypt", "ssl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {network: 2, replication: {heartbeats: 2}}}'"
- name: sslSpecial_gen
tags: ["encrypt", "ssl"]
commands:
- func: "generate resmoke tasks"
vars:
suite: ssl_special
resmoke_args: --storageEngine=wiredTiger
- name: ssl_x509_gen
tags: ["encrypt", "ssl"]
commands:
- func: "generate resmoke tasks"
vars:
suite: ssl_x509
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: jsCore_decimal
tags: ["jscore", "common", "decimal"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=decimal --storageEngine=wiredTiger
- <<: *task_template
name: read_only
tags: ["read_only"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=read_only --storageEngine=wiredTiger
- <<: *task_template
name: read_only_sharded
tags: ["read_only"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=read_only_sharded --storageEngine=wiredTiger
- <<: *task_template
name: session_jscore_passthrough
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=session_jscore_passthrough --storageEngine=wiredTiger
- name: causally_consistent_jscore_passthrough_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: causally_consistent_jscore_passthrough_auth_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: causally_consistent_read_concern_snapshot_passthrough_gen
tags: ["causally_consistent", "read_write_concern", "durable_history"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: sharded_causally_consistent_read_concern_snapshot_passthrough_gen
tags: ["causally_consistent", "read_write_concern", "durable_history"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: sharded_causally_consistent_jscore_passthrough_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: retryable_writes_jscore_passthrough_gen
tags: ["retry"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_replication_default_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_replication_100ms_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_replication_1sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "one_sec", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_replication_10sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_sharding_default_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_sharding_100ms_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_sharding_100ms_refresh_jscore_txns_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_sharding_1sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "one_sec"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_sharding_10sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_standalone_default_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_standalone_100ms_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_standalone_1sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache", "one_sec"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- name: logical_session_cache_standalone_10sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *task_template
name: retryable_writes_jscore_stepdown_passthrough
tags: ["retry"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=retryable_writes_jscore_stepdown_passthrough --storageEngine=wiredTiger
- <<: *task_template
name: watchdog_wiredtiger
tags: ["watchdog"]
commands:
- *f_expansions_write
- func: "do setup"
- func: "do watchdog setup"
- func: "run tests"
vars:
resmoke_args: --suites=watchdog --storageEngine=wiredTiger
resmoke_jobs_max: 1
# This is a separate task because it is only supported on Ubuntu 16.04+ which are not inmemory builders
- <<: *task_template
name: watchdog_inmemory
tags: ["watchdog"]
commands:
- *f_expansions_write
- func: "do setup"
- func: "do watchdog setup"
- func: "run tests"
vars:
resmoke_args: --suites=watchdog --storageEngine=inMemory
resmoke_jobs_max: 1
- <<: *task_template
name: free_monitoring
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=free_monitoring --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: client_encrypt
tags: ["ssl", "encrypt"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=client_encrypt --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: fle
tags: ["encrypt"]
commands:
- func: "do setup"
- func: "load aws test credentials"
- func: "run tests"
vars:
resmoke_args: --suites=fle --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: ocsp
tags: ["ssl", "encrypt", "ocsp"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=ocsp
resmoke_jobs_max: 1
- <<: *task_template
name: jsonSchema
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=json_schema --storageEngine=wiredTiger
resmoke_jobs_max: 1
- name: powercycle_gen
tags: []
commands:
- func: "generate powercycle tasks"
vars:
task_names: >-
powercycle
powercycle_kill_mongod
powercycle_replication_smalloplog
powercycle_syncdelay
num_tasks: 1
- name: powercycle_smoke_skip_compile_gen
tags: []
commands:
- func: "generate powercycle tasks"
vars:
task_names: >-
powercycle_smoke_skip_compile
num_tasks: 20
exec_timeout_secs: 604800 # 7 days
timeout_secs: 604800 # 7 days
set_up_retry_count: 1000000
run_powercycle_args: --sshAccessRetryCount=1000000
- name: powercycle_sentinel
tags: []
exec_timeout_secs: 604800 # 7 days
commands:
- func: "run powercycle sentinel"
vars:
gen_task: powercycle_smoke_skip_compile_gen
- name: powercycle_smoke
tags: []
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_kill_mongod
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_fcv4.4
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_replication
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_replication_smalloplog
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_syncdelay
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: powercycle_write_concern_majority
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
timeout_secs: 1800 # 30 minute timeout for no output
depends_on:
- name: archive_dist_test_debug
commands:
- func: "do setup"
- func: "set up remote credentials"
vars:
<<: *powercycle_remote_credentials
- func: "set up EC2 instance"
- func: "run powercycle test"
- name: idl_tests
tags: []
depends_on:
- name: archive_dist_test_debug
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "run idl tests"
- name: blackduck_scanner
tags: []
patchable: false
commands:
- *f_expansions_write
- func: "do non-compile setup"
- command: subprocess.exec
type: setup
params:
binary: bash
silent: true
args:
- "src/evergreen/blackduck_setup.sh"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/blackduck_hub.sh"
- name: tla_plus
tags: []
commands:
- *f_expansions_write
- func: "do non-compile setup"
- command: subprocess.exec
type: setup
params:
binary: bash
args:
- "./src/evergreen/download_tlc.sh"
- func: "run tests"
vars:
resmoke_args: --suites=tla_plus
resmoke_jobs_max: 1
- name: buildscripts_test
tags: []
depends_on: []
commands:
- *f_expansions_write
- func: "do non-compile setup"
- func: "set up remote credentials"
- *f_expansions_write
- func: "configure evergreen api credentials"
- func: "do multiversion setup"
- func: "run tests"
vars:
resmoke_args: --suites=buildscripts_test
resmoke_jobs_max: 1
- <<: *task_template
name: resmoke_end2end_tests
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=resmoke_end2end_tests
- name: test_packages
tags: []
depends_on:
- name: package
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "fetch packages"
- func: "set up remote credentials"
vars:
private_key_file: ~/.ssh/kitchen.pem
private_key_remote: ${kitchen_private_key}
aws_key_remote: ${kitchen_aws_key}
aws_secret_remote: ${kitchen_aws_secret}
- func: "run kitchen"
- name: package
tags: []
depends_on:
- name: compile_dist_test
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "scons compile"
vars:
targets: >-
distsrc-${ext|tgz}
archive-dist
archive-dist-debug
archive-shell
archive-shell-debug
${additional_package_targets|}
task_compile_flags: >-
--separate-debug
--legacy-tarball
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/package.sh"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/distsrc.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/sources/mongo-src-${build_id}.${ext|tgz}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Source tarball
# We only need to upload the source tarball from one of the build variants
# because it should be the same everywhere, so just use rhel70/windows.
build_variants: [rhel70, windows]
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-dist.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}.${ext|tgz}
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: Dist Tarball
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-dist-debugsymbols.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}-debugsymbols.${ext|tgz}
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: Dist Debugsymbols
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-shell.${ext|tgz}
remote_file: ${mongo_shell}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Shell
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-debugsymbols.${ext|tgz}
remote_file: ${mongo_shell_debugsymbols}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: Shell Debugsymbols
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd.${ext|tgz}
remote_file: ${mongo_cryptd}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: CryptD Binaries
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-debugsymbols.${ext|tgz}
remote_file: ${mongo_cryptd_debugsymbols}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: CryptD Debugsymbols
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mh-binaries.${ext|tgz}
remote_file: ${mh_archive}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: MH Binaries
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mh-debugsymbols.${ext|tgz}
remote_file: ${mh_debugsymbols}
bucket: mciuploads
permissions: public-read
content_type: ${content_type|application/gzip}
display_name: MH Debugsymbols
- func: "run packager.py"
- command: archive.targz_pack
params:
target: "packages.tgz"
source_dir: "src"
include:
- "repo/**"
- "./**.msi"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: packages.tgz
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
bucket: mciuploads
permissions: public-read
content_type: application/tar
display_name: Packages
- name: publish_packages
tags: ["publish"]
# This should prevent this task from running in patch builds, where we
# don't want to publish packages.
patchable: false
stepback: false
# Same dependencies as "push" below
depends_on:
- name: package
- name: jsCore
- name: run_dbtest
- name: replica_sets_jscore_passthrough
commands:
- command: manifest.load
- func: "git get project"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "fetch packages"
- func: "generate compile expansions"
- func: "apply compile expansions"
- func: "set up remote credentials"
vars:
aws_key_remote: ${repo_aws_key}
aws_secret_remote: ${repo_aws_secret}
- func: "set up notary client credentials"
- *f_expansions_write
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/packages_publish.sh"
- name: push
tags: ["publish"]
patchable: false
depends_on:
- name: package
- name: jsCore
- name: run_dbtest
- name: replica_sets_jscore_passthrough
stepback: false
commands:
- command: manifest.load
- func: "git get project"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "fetch packages"
- func: "fetch dist tarball"
# Fetch the shell
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mongo_shell}
bucket: mciuploads
local_file: src/mongo-shell.tgz
# Fetch mongocryptd
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mongo_cryptd}
bucket: mciuploads
local_file: src/mongo-cryptd.tgz
build_variants: *mongocryptd_variants
# Fetch the mongohouse binaries
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mh_archive}
bucket: mciuploads
local_file: src/mh.tgz
build_variants: *mh_variants
# Fetch the sources (on relevant variants only)
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${project}/${build_variant}/${revision}/sources/mongo-src-${build_id}.${ext|tgz}
bucket: mciuploads
local_file: src/distsrc.${ext|tgz}
build_variants: [rhel70, windows]
- func: "generate compile expansions"
- func: "apply compile expansions"
- func: "fetch dist debugsymbols"
- func: "set up remote credentials"
vars:
aws_key_remote: ${repo_aws_key}
aws_secret_remote: ${repo_aws_secret}
- func: "f_expansions_write"
- func: "set up notary client credentials"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/notary_client_run.sh"
# Put the binaries tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}
# Put the shell tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}
# Put the cryptd tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}
build_variants: *mongocryptd_variants
# Put the mh tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mh-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mh-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}
build_variants: *mh_variants
# Put the source tarball
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-src-${src_suffix}.${ext|tar.gz}
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}
build_variants: [rhel70, windows]
# Put the debug symbols
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: public-read
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
bucket: build-push-testing
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}
optional: true
# Put the binaries tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig
# Put the shell tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig
# Put the cryptd tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig
build_variants: *mongocryptd_variants
# Put the source tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sig
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sig
build_variants: [rhel70, windows]
# Put the debug symbols signature
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: public-read
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
bucket: build-push-testing
content_type: ${content_type|application/gzip}
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sig
optional: true
# Put the signed MSI file
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
permissions: public-read
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi
bucket: build-push-testing
content_type: application/x-msi
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi
# Put the binaries tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
aws_key: ${aws_key}
permissions: public-read
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1
# Put the shell tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
aws_key: ${aws_key}
permissions: public-read
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1
# Put the cryptd tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
aws_key: ${aws_key}
permissions: public-read
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1
build_variants: *mongocryptd_variants
# Put the source tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha1
aws_key: ${aws_key}
permissions: public-read
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sha1
build_variants: [rhel70, windows]
# Put the debug symbols sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: public-read
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sha1
optional: true
# Push the signed MSI sha1
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
permissions: public-read
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.sha1
# Put the binaries tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: public-read
aws_key: ${aws_key}
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256
# Put the shell tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: public-read
aws_key: ${aws_key}
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256
# Put the cryptd tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: public-read
aws_key: ${aws_key}
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256
build_variants: *mongocryptd_variants
# Put the source tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha256
permissions: public-read
aws_key: ${aws_key}
bucket: build-push-testing
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sha256
build_variants: [rhel70, windows]
# Put the debug symbols sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sha256
optional: true
# Put the signed MSI sha256
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256
bucket: build-push-testing
permissions: public-read
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.sha256
content_type: text/plain
# Put the binaries tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5
# Put the shell tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5
# Put the cryptd tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5
build_variants: *mongocryptd_variants
# Put the source tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-src-${src_suffix}.${ext|tar.gz}.md5
aws_key: ${aws_key}
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.md5
build_variants: [rhel70, windows]
# Put the debug symbols md5
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
bucket: build-push-testing
content_type: text/plain
permissions: public-read
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.md5
optional: true
# Put the signed MSI md5
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5
bucket: build-push-testing
permissions: public-read
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.md5
- command: s3Copy.copy
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
s3_copy_files:
#Binaries
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'}}
#Shell
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'}}
#Cryptd
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'},
'build_variants': *mongocryptd_variants}
# MH
- {'source': {'path': '${push_path}-STAGE/${push_name}/mh-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mh-${push_name}-${push_arch}-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'},
'build_variants': *mh_variants}
#Source tarball
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}', 'bucket': 'build-push-testing'},
'destination': {'path': 'src/mongodb-src-${src_suffix}.${ext|tar.gz}', 'bucket': '${push_bucket}'},
'build_variants': ['rhel70', 'windows']}
#MSI (Windows only)
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi', 'bucket': '${push_bucket}'},
'build_variants': ['enterprise-windows', 'windows']}
#Binaries Signature
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig', 'bucket': '${push_bucket}'}}
#Shell Signature
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig', 'bucket': '${push_bucket}'}}
#Cryptd Signature
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sig', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig', 'bucket': '${push_bucket}'},
'build_variants': *mongocryptd_variants}
#Source tarball signature
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sig', 'bucket': 'build-push-testing'},
'destination': {'path': 'src/mongodb-src-${src_suffix}.${ext|tar.gz}.sig', 'bucket': '${push_bucket}'},
'build_variants': ['rhel70', 'windows']}
#SHA1 for binaries
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1', 'bucket': '${push_bucket}'}}
#SHA1 for shell
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1', 'bucket': '${push_bucket}'}}
#SHA1 for cryptd
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1', 'bucket': '${push_bucket}'},
'build_variants': *mongocryptd_variants}
#SHA1 for source tarball
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': 'src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha1', 'bucket': '${push_bucket}'},
'build_variants': ['rhel70', 'windows']}
#SHA1 for MSI
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1', 'bucket': '${push_bucket}'},
'build_variants': ['enterprise-windows', 'windows']}
#SHA256 for binaries
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256', 'bucket': '${push_bucket}'}}
#SHA256 for shell
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256', 'bucket': '${push_bucket}'}}
#SHA256 for cryptd
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256', 'bucket': '${push_bucket}'},
'build_variants': *mongocryptd_variants}
#SHA256 for source tarball
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': 'src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha256', 'bucket': '${push_bucket}'},
'build_variants': ['rhel70', 'windows']}
#SHA256 for MSI files
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256', 'bucket': '${push_bucket}'},
'build_variants': ['enterprise-windows', 'windows']}
#MD5 for binaries
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5', 'bucket': '${push_bucket}'}}
#MD5 for shell
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-shell-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5', 'bucket': '${push_bucket}'}}
#MD5 for cryptd
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5', 'bucket': '${push_bucket}'},
'build_variants': *mongocryptd_variants}
#MD5 for source tarball
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-src-${src_suffix}-${task_id}.${ext|tar.gz}.md5', 'bucket': 'build-push-testing'},
'destination': {'path': 'src/mongodb-src-${src_suffix}.${ext|tar.gz}.md5', 'bucket': '${push_bucket}'},
'build_variants': ['rhel70', 'windows']}
#MD5 for MSIs
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}-signed.msi.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5', 'bucket': '${push_bucket}'},
'build_variants': ['enterprise-windows', 'windows']}
# Debug symbols are not created for all variants and the copy is optional.
- command: s3Copy.copy
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
optional: true
s3_copy_files:
#Debug Symbols
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'}}
#Debug Symbols Signature
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sig', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig', 'bucket': '${push_bucket}'}}
#SHA1 for debug symbols
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sha1', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1', 'bucket': '${push_bucket}'}}
#SHA256 for debugsymbols
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.sha256', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256', 'bucket': '${push_bucket}'}}
#MD5 for debugsymbols
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}-${task_id}.${ext|tgz}.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5', 'bucket': '${push_bucket}'}}
- <<: *task_template
name: search
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=search --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: search_auth
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=search_auth --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *task_template
name: search_ssl
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=search_ssl --storageEngine=wiredTiger
resmoke_jobs_max: 1
- name: shared_scons_cache_pruning
tags: []
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
depends_on: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "shared scons cache pruning"
- name: win_shared_scons_cache_pruning
tags: []
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
depends_on: []
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- *set_up_venv
- func: "set up win mount script"
- func: "shared scons cache pruning"
- name: validate_commit_message
tags: []
exec_timeout_secs: 600 # 10 minute timeout
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/commit_message_validate.sh"
- name: check_for_todos
tags: []
exec_timeout_secs: 600 # 10 minute timeout
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "configure evergreen api credentials"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/todos_check.sh"
- <<: *task_template
name: mqlrun
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=mqlrun
#######################################
# Task Groups #
#######################################
task_groups:
- <<: *compile_task_group_template
name: compile_and_archive_dist_test_TG
tasks:
- compile_dist_test
- archive_dist_test
- archive_dist_test_debug
- <<: *compile_task_group_template
name: compile_and_archive_dist_test_then_package_TG
tasks:
- compile_dist_test
- archive_dist_test
- archive_dist_test_debug
- package
- <<: *compile_task_group_template
name: compile_ninja_next_TG
tasks:
- compile_ninja_next
- <<: *compile_task_group_template
name: compile_build_tools_next_TG
tasks:
- compile_build_tools_next
- <<: *compile_task_group_template
name: libdeps_graph_linting_TG
tasks:
- libdeps_graph_linting
- <<: *compile_task_group_template
name: compile_ninja_TG
tasks:
- compile_ninja
teardown_task:
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/all.build.ninja
remote_file: ${project}/${build_variant}/${revision}/artifacts/all.${build_id}.build.ninja
bucket: mciuploads
permissions: public-read
content_type: text/plain
display_name: build.ninja
- <<: *compile_task_group_template
name: server_discovery_and_monitoring_json_test_TG
tasks:
- server_discovery_and_monitoring_json_test
- <<: *compile_task_group_template
name: server_selection_json_test_TG
tasks:
- server_selection_json_test
- <<: *compile_task_group_template
name: compile_run_and_archive_dbtest_TG
tasks:
- compile_dbtest
- run_dbtest
- archive_dbtest
- <<: *compile_task_group_template
name: compile_archive_and_run_libfuzzertests_TG
tasks:
- compile_and_archive_libfuzzertests
- fetch_and_run_libfuzzertests
- <<: *compile_task_group_template
name: compile_test_and_package_serial_TG
tasks:
- compile_dist_test
- archive_dist_test
- archive_dist_test_debug
- compile_unittests
- run_unittests
- compile_dbtest
- run_dbtest
- archive_dbtest
- compile_all
- package
# These `parallel` task groups are only appropriate for builders that
# use --link-model=dynamic, and have scons_cache_scope: shared and
# scons_cache_mode: all. Such builders are able to share all build
# artifacts, and therefore will not repeatedly re-link the same
# code. In that mode, it makes sense to run all of these tasks
# concurrently, since they will share state across machines and can
# complete faster than running them serially. We keep them in task
# groups so that if they do run on the same machine, they can avoid the
# cost of re-running the setup tasks.
- <<: *compile_task_group_template
name: compile_test_and_package_parallel_core_stream_TG
tasks:
- compile_dist_test
- archive_dist_test
- archive_dist_test_debug
- compile_all
- package
- <<: *compile_task_group_template
name: compile_test_and_package_parallel_unittest_stream_TG
tasks:
- compile_unittests
- run_unittests
- <<: *compile_task_group_template
name: compile_test_and_package_parallel_dbtest_stream_TG
tasks:
- compile_dbtest
- run_dbtest
- archive_dbtest
- name: clang_tidy_TG
setup_group_can_fail_task: true
setup_group:
- command: manifest.load
- func: "git get project"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "upload pip requirements"
- func: "configure evergreen api credentials"
- func: "get buildnumber"
- func: "f_expansions_write"
- func: "set up credentials"
- func: "set up win mount script"
- func: "generate compile expansions"
teardown_group:
- func: "f_expansions_write"
- func: "umount shared scons directory"
- func: "cleanup environment"
setup_task:
- func: "apply compile expansions"
- func: "f_expansions_write"
- func: "set task expansion macros"
- func: "f_expansions_write"
teardown_task:
tasks:
- clang_tidy
- name: visibility_test_TG
setup_group_can_fail_task: true
max_hosts: 1
setup_group:
- command: manifest.load
- func: "git get project"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "get buildnumber"
- func: "set up venv"
- func: "upload pip requirements"
- func: "set up credentials"
- func: "set up win mount script"
- func: "generate compile expansions"
teardown_group:
- func: "umount shared scons directory"
setup_task:
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "apply compile expansions"
- func: "f_expansions_write"
teardown_task:
- func: "attach scons logs"
tasks:
- compile_visibility_test
- name: embedded_sdk_build_and_test
setup_group_can_fail_task: true
max_hosts: 1
setup_group:
- command: manifest.load
- func: "git get project"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "get buildnumber"
- func: "set up venv"
- func: "upload pip requirements"
- func: "set up credentials"
- func: "set up win mount script"
- func: "generate compile expansions"
teardown_group:
- func: "umount shared scons directory"
setup_task:
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "apply compile expansions"
- func: "f_expansions_write"
teardown_task:
- func: "attach scons logs"
tasks:
- "embedded_sdk_build_cdriver"
- "embedded_sdk_install_dev"
- "embedded_sdk_s3_put"
- "embedded_sdk_install_tests"
- "embedded_sdk_tests_s3_put"
- "embedded_sdk_run_tests"
- "embedded_sdk_s3_put_latest"
- "embedded_sdk_tests_s3_put_latest"
- <<: *stitch_support_task_group_template
name: stitch_support_lib_build_and_archive
tags: ["stitch"]
tasks:
- "stitch_support_create_lib"
- <<: *stitch_support_task_group_template
name: stitch_support_lib_build_and_test
tags: ["stitch"]
max_hosts: 1
tasks:
- "stitch_support_install_tests"
- "stitch_support_run_tests"
#######################################
# Modules #
#######################################
# if a module is added and to be added to the manifest
# be sure to add the module to git.get_project revisions parameter
modules:
- name: enterprise
repo: git@github.com:10gen/mongo-enterprise-modules.git
prefix: src/mongo/db/modules
branch: master
- name: wtdevelop
repo: git@github.com:wiredtiger/wiredtiger.git
prefix: src/third_party
branch: develop
#######################################
# Buildvariants #
#######################################
buildvariants:
###########################################
# Linux buildvariants #
###########################################
- name: linux-64-repeated-execution
stepback: false
display_name: ~ Linux Repeated Execution
run_on:
- rhel80-small
expansions:
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=off --enable-http-client=off
test_flags: >-
--excludeWithAnyTags=requires_http_client
--repeatSuites=10
--shuffle
resmoke_repeat_suites: 10
# TODO: There are currently 2 ways of repeating suites, one for regular suites and one for
# generated suites. Once everything is converted to generated suites, we should remove the
# '--repeatSuites=10' from the test_flags. This will be done in SERVER-38817.
scons_cache_scope: shared
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-large
- name: .integration !.audit
distros:
- rhel80-medium
- name: jsCore
- name: jsCore_txns
- name: .logical_session_cache
- name: parallel_gen
- name: .concurrency .common !.kill_terminate
distros:
- rhel80-medium
- name: concurrency_replication_causal_consistency_gen
- &linux-64-debug-required-template
name: linux-64-debug-required
display_name: "! Shared Library Linux DEBUG"
batchtime: 240 # 4 hours
run_on:
- rhel80-medium
expansions:
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=on --enable-http-client=on --link-model=dynamic
scons_cache_scope: shared
scons_cache_mode: all
test_flags: --excludeWithAnyTags=requires_http_client
target_resmoke_time: 15
max_sub_suites: 5
num_scons_link_jobs_available: 0.99
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- rhel80-xlarge
- name: compile_test_and_package_parallel_unittest_stream_TG
distros:
- rhel80-xlarge
- name: compile_test_and_package_parallel_dbtest_stream_TG
distros:
- rhel80-xlarge
- name: .aggregation !.encrypt
- name: .auth !.audit !.multiversion
- name: .causally_consistent !.wo_snapshot
- name: .change_streams !.secondary_reads
- name: .misc_js
- name: disk_wiredtiger
- name: free_monitoring
- name: .integration !.audit
- name: .jscore .common
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: libunwind_tests
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: .ocsp
- name: .read_write_concern
- name: .replica_sets !.encrypt !.ignore_on_linux_debug_variant
- name: replica_sets_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
- name: .retry
- name: .read_only
- name: session_jscore_passthrough
- name: sharded_multi_stmt_txn_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot
- name: sharding_gen
- name: .stitch
- name: server_discovery_and_monitoring_json_test_TG
distros:
- rhel80-large
- name: server_selection_json_test_TG
distros:
- rhel80-large
- <<: *linux-64-debug-required-template
name: linux-64-debug-wtdevelop
display_name: "~ Linux DEBUG WiredTiger develop"
batchtime: 240 # 4 hours
modules:
- wtdevelop
expansions:
use_wt_develop: true
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=on --enable-http-client=on
scons_cache_mode: nolinked
test_flags: --excludeWithAnyTags=requires_http_client
- name: linux-64-duroff
display_name: Linux (No Journal)
run_on:
- rhel80-small
expansions: &linux-64-required-duroff-expansions
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=off --enable-http-client=off
multiversion_platform: rhel80
multiversion_edition: targeted
# Running WiredTiger with --nojournal in a replica set is no longer supported, so this variant
# does not include replica set tests. Since transactions are only supported on replica sets, we
# exclude those tests as well.
test_flags: --nojournal --excludeWithAnyTags=requires_journaling,requires_replication,requires_sharding,uses_transactions,requires_http_client
scons_cache_scope: shared
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-xlarge
- name: .aggfuzzer .common
- name: aggregation
- name: aggregation_auth
- name: auth_gen
- name: .misc_js !.sharded
- name: concurrency
- name: concurrency_simultaneous_gen
- name: disk_wiredtiger
- name: failpoints_auth
- name: .jscore .common !.sharding !.decimal !.txns
- name: .jstestfuzz .common !.sharding !.repl
- name: ubuntu1804
display_name: Ubuntu 18.04
run_on:
- ubuntu1804-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: targeted
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: ubuntu1804
repo_edition: org
scons_cache_scope: shared
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.audit !.multiversion
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jepsen
distros:
- ubuntu1804-build
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: .powercycle
- name: replica_sets_gen
- name: replica_sets_jscore_passthrough
- name: .sharding .txns
- name: sharding_gen
- name: sharding_jscore_passthrough
- name: watchdog_wiredtiger
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu1804-small
- name: enterprise-ubuntu1804-64
display_name: Enterprise Ubuntu 18.04
modules:
- enterprise
run_on:
- ubuntu1804-test
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: ubuntu1804
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: compile_ninja_next_TG
distros:
- ubuntu1804-build
- name: compile_build_tools_next_TG
distros:
- ubuntu1804-build
- name: libdeps_graph_linting_TG
distros:
- ubuntu1804-build
- name: compile_ninja_TG
distros:
- ubuntu1804-build
- name: .aggfuzzer .common
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jepsen
distros:
- ubuntu1804-build
- name: .jscore .common !.decimal !.sharding
- name: jsCore_auth
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: .multiversion_fuzzer
- name: .multiversion_passthrough
- name: .ocsp
- name: .random_multiversion_ds
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: .watchdog
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu1804-small
- name: tla-plus
display_name: TLA+
run_on:
- ubuntu1804-build
batchtime: 10080 # 7 days
stepback: false
expansions:
timeout_secs: 345600 # 4 days
tasks:
- name: tla_plus
- name: enterprise-ubuntu1804-arm64
display_name: Enterprise Ubuntu 18.04 arm64
modules:
- enterprise
run_on:
- ubuntu1804-arm64-build
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: aarch64-enterprise-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
packager_arch: arm64
packager_distro: ubuntu1804
repo_edition: enterprise
multiversion_platform: ubuntu1804
multiversion_architecture: arm64
multiversion_architecture_42_or_later: aarch64
multiversion_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: aggregation
- name: aggregation_wildcard_fuzzer_gen
- name: .auth !.audit !.multiversion !.jscore
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: fle
- name: .jscore .common !.auth
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: sharding_gen
- name: sharding_jscore_passthrough
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu1804-test
- name: ubuntu1804-arm64
display_name: Ubuntu 18.04 arm64
run_on:
- ubuntu1804-arm64-build
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: aarch64-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager.py
packager_arch: arm64
packager_distro: ubuntu1804
repo_edition: org
multiversion_platform: ubuntu1804
multiversion_architecture: arm64
multiversion_architecture_42_or_later: aarch64
multiversion_edition: targeted
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: free_monitoring
- name: jsCore
- name: replica_sets_jscore_passthrough
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu1804-test
- name: ubuntu2004
display_name: Ubuntu 20.04
run_on:
- ubuntu2004-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu2004
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: ubuntu2004
repo_edition: org
scons_cache_scope: shared
large_distro_name: ubuntu2004-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-large
- name: .aggfuzzer .common !.multiversion
- name: aggregation
- name: .auth !.audit !.multiversion
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
# - name: multiversion_gen
- name: replica_sets_gen
- name: replica_sets_jscore_passthrough
- name: .sharding .txns
- name: sharding_gen
- name: sharding_jscore_passthrough
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu2004-small
- name: enterprise-ubuntu2004-64
display_name: Enterprise Ubuntu 20.04
modules:
- enterprise
run_on:
- ubuntu2004-small
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu2004
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: ubuntu2004
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: ubuntu2004-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-large
- name: .aggfuzzer .common !.multiversion
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_auth
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: .ocsp
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu2004-small
- name: enterprise-ubuntu2004-arm64
display_name: Enterprise Ubuntu 20.04 arm64
modules:
- enterprise
run_on:
- ubuntu2004-arm64-large
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: aarch64-enterprise-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
packager_arch: arm64
packager_distro: ubuntu2004
repo_edition: enterprise
multiversion_platform: ubuntu2004
multiversion_architecture: arm64
multiversion_architecture_42_or_later: aarch64
multiversion_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: aggregation
- name: aggregation_wildcard_fuzzer_gen
- name: .auth !.audit !.multiversion !.jscore
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: fle
- name: .jscore .common !.auth
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: sharding_gen
- name: sharding_jscore_passthrough
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu2004-test
- name: ubuntu2004-arm64
display_name: Ubuntu 20.04 arm64
run_on:
- ubuntu2004-arm64-large
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: aarch64-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager.py
packager_arch: arm64
packager_distro: ubuntu2004
repo_edition: org
multiversion_platform: ubuntu2004
multiversion_architecture: arm64
multiversion_architecture_42_or_later: aarch64
multiversion_edition: targeted
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: free_monitoring
- name: jsCore
- name: replica_sets_jscore_passthrough
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- ubuntu2004-test
- name: enterprise-linux-64-amazon-ami
display_name: "Enterprise Amazon Linux"
modules:
- enterprise
run_on:
- amazon1-2018-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-amzn64
compile_flags: --ssl MONGO_DISTMOD=amzn64 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux
multiversion_platform: amzn64
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon
repo_edition: enterprise
scons_cache_scope: shared
virtualenv: /opt/mongodbtoolchain/v3/bin/virtualenv
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon1-2018-build
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.multiversion
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: .powercycle
- name: .replica_sets .common
- name: sasl
- name: serial_run
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns
- name: slow1_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- amazon1-2018-small
- name: amazon
display_name: Amazon Linux
run_on:
- amazon1-2018-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-amazon
compile_flags: --ssl MONGO_DISTMOD=amazon -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux
multiversion_platform: amazon
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: amazon
repo_edition: org
scons_cache_scope: shared
virtualenv: /opt/mongodbtoolchain/v3/bin/virtualenv
large_distro_name: amazon1-2018-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon1-2018-build
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: .sharding .txns
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- amazon1-2018-small
- name: enterprise-amazon2
display_name: "Enterprise Amazon Linux 2"
modules:
- enterprise
run_on:
- amazon2-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: amazon2
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-build
- name: .aggfuzzer .common
- name: aggregation
- name: audit
- name: .auth !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: .replica_sets .common
- name: sasl
- name: serial_run
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns !.csrs
- name: slow1_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- amazon2-small
- name: amazon2
display_name: Amazon Linux 2
run_on:
- amazon2-test
expansions:
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: amazon2
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: amazon2
repo_edition: org
scons_cache_scope: shared
large_distro_name: amazon-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-build
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: .sharding .txns
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- amazon2-small
- name: enterprise-amazon2-arm64
display_name: "Enterprise Amazon Linux 2 arm64"
modules:
- enterprise
run_on:
- amazon2-arm64-small
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: aarch64-enterprise-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: amazon2
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-arm64-large
- name: .aggfuzzer !.multiversion
- name: audit
- name: auth_audit_gen
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: sharding_auth_audit_gen
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
- name: amazon2-arm64
display_name: Amazon Linux 2 arm64
run_on:
- amazon2-arm64-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: aarch64-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: amazon2
repo_edition: org
scons_cache_scope: shared
large_distro_name: amazon2-arm64-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-arm64-large
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
distros:
- amazon2-arm64-large
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs !.multiversion
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
- name: stm-daily-cron
modules:
- enterprise
display_name: "~ STM Daily Cron"
run_on:
- rhel80-small
expansions:
multiversion_platform: rhel80
multiversion_edition: enterprise
stepback: false
tasks:
- name: lint_fuzzer_sanity_all
- name: powercycle_sentinel
- name: powercycle_smoke_skip_compile_gen
- name: security-daily-cron
modules:
- enterprise
display_name: "~ Security Daily Cron"
run_on:
- rhel80-small
stepback: false
tasks:
- name: blackduck_scanner
###########################################
# Windows buildvariants #
###########################################
- name: windows-debug-suggested
display_name: "* Windows DEBUG"
batchtime: 240 # 4 hours
run_on:
- windows-vsCurrent-small
expansions:
exe: ".exe"
content_type: application/zip
compile_flags: --dbg=on --opt=on --win-version-min=win10 -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") MONGO_DISTMOD=windows
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
large_distro_name: windows-vsCurrent-large
test_flags: &windows_common_test_excludes --excludeWithAnyTags=incompatible_with_windows_tls
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-xlarge
- name: compile_build_tools_next_TG
distros:
- windows-vsCurrent-xlarge
- name: .aggregation !.auth !.encrypt
- name: aggregation_expression_multiversion_fuzzer_gen
- name: aggregation_expression_optimization_fuzzer_gen
- name: auth_gen
- name: .causally_consistent !.sharding
- name: .change_streams !.secondary_reads
- name: .misc_js !.non_win_dbg
- name: .concurrency .debug_only
distros:
- windows-vsCurrent-large
- name: disk_wiredtiger
- name: free_monitoring
- name: initial_sync_fuzzer_gen
- name: .integration !.audit
distros:
- windows-vsCurrent-large
- name: .jscore .common !.auth !.sharding
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: .read_write_concern !.large
- name: .read_write_concern .large
distros:
- windows-vsCurrent-large
- name: .read_only
- name: .rollbackfuzzer
- name: .replica_sets !.large !.encrypt !.auth
- name: .replica_sets .large
distros:
- windows-vsCurrent-large
- name: .resharding_fuzzer
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
distros:
- windows-vsCurrent-large
- name: session_jscore_passthrough
- name: sharding_gen
- name: .stitch
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- &enterprise-windows-required-template
name: enterprise-windows-required
display_name: "! Enterprise Windows"
batchtime: 240 # 4 hours
modules:
- enterprise
run_on:
- windows-vsCurrent-small
expansions:
burn_in_tests_build_variant: enterprise-windows-suggested
exe: ".exe"
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 c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 5
large_distro_name: windows-vsCurrent-large
push_path: windows
push_bucket: downloads.10gen.com
push_name: windows
push_arch: x86_64-enterprise
test_flags: *windows_common_test_excludes
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- windows-vsCurrent-xlarge
- name: compile_build_tools_next_TG
distros:
- windows-vsCurrent-xlarge
- name: burn_in_tests_gen
- name: buildscripts_test
- name: noPassthrough_gen
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- name: compile_run_and_archive_dbtest_TG
distros:
- windows-vsCurrent-xlarge
- name: unittest_shell_hang_analyzer_gen
- <<: *enterprise-windows-required-template
name: enterprise-windows-all-feature-flags-required
display_name: "! Enterprise Windows (all feature flags)"
batchtime: 240 # 4 hours
expansions:
burn_in_tests_build_variant: enterprise-windows-suggested
exe: ".exe"
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 c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 5
large_distro_name: windows-vsCurrent-large
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_windows_tls
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- windows-vsCurrent-xlarge
- name: compile_build_tools_next_TG
distros:
- windows-vsCurrent-xlarge
- name: burn_in_tests_gen
- name: noPassthrough_gen
# Disabling as the following tests are not aware of feature flags.
# - name: buildscripts_test
# - name: server_discovery_and_monitoring_json_test_TG
# - name: server_selection_json_test_TG
# - name: compile_run_and_archive_dbtest_TG
# distros:
# - windows-vsCurrent-xlarge
# - name: unittest_shell_hang_analyzer_gen
- &enterprise-windows-suggested-template
name: enterprise-windows-suggested
display_name: "* Enterprise Windows"
batchtime: 240 # 4 hours
modules:
- enterprise
run_on:
- windows-vsCurrent-small
expansions:
exe: ".exe"
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 c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 3
large_distro_name: windows-vsCurrent-large
push_path: windows
push_bucket: downloads.10gen.com
push_name: windows
push_arch: x86_64-enterprise
test_flags: *windows_common_test_excludes
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-xlarge
- name: audit
- name: auth_audit_gen
- name: buildscripts_test
- name: causally_consistent_jscore_txns_passthrough
distros:
- windows-vsCurrent-large
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
- name: external_auth
- name: external_auth_aws
- name: external_auth_windows
distros:
- windows-64-2016
- name: .jscore .common !.sharding
- name: jsCore_auth
- name: jsCore_ese
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: mqlrun
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: .replica_sets .common
- name: .replica_sets .multi_oplog
- name: replica_sets_ese_gen
- name: sasl
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- name: .sharding .txns
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: sharding_ese_gen
- name: snmp
- name: unittest_shell_hang_analyzer_gen
- <<: *enterprise-windows-suggested-template
name: enterprise-windows-all-feature-flags-suggested
display_name: "* Enterprise Windows (all feature flags)"
batchtime: 240 # 4 hours
expansions:
exe: ".exe"
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 c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 3
large_distro_name: windows-vsCurrent-large
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_windows_tls
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- windows-vsCurrent-xlarge
- name: audit
- name: auth_audit_gen
- name: causally_consistent_jscore_txns_passthrough
distros:
- windows-vsCurrent-large
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
- name: external_auth
- name: external_auth_aws
- name: external_auth_windows
distros:
- windows-64-2016
- name: .jscore .common !.sharding
- name: jsCore_auth
- name: jsCore_ese
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: mqlrun
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: .replica_sets .common
- name: .replica_sets .multi_oplog
- name: replica_sets_ese_gen
- name: sasl
- name: .sharding .txns
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: sharding_ese_gen
- name: snmp
# Disabling as the following tests are not aware of feature flags.
# - name: buildscripts_test
# - name: unittest_shell_hang_analyzer_gen
# - name: server_selection_json_test_TG
# - name: server_discovery_and_monitoring_json_test_TG
- <<: *enterprise-windows-nopush-template
name: enterprise-windows-benchmarks
display_name: "~ Enterprise Windows (Benchmarks)"
tasks:
- name: compile_benchmarks
distros:
- windows-vsCurrent-large
- name: .benchmarks
- <<: *enterprise-windows-nopush-template
name: enterprise-windows-wtdevelop
display_name: "~ Enterprise Windows WiredTiger develop"
batchtime: 240 # 4 hours
modules:
- enterprise
- wtdevelop
expansions:
<<: *enterprise-windows-nopush-expansions-template
use_wt_develop: true
- name: enterprise-windows-inmem
display_name: Enterprise Windows (inMemory)
modules:
- enterprise
run_on:
- windows-vsCurrent-small
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi
exe: ".exe"
content_type: application/zip
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling,incompatible_with_windows_tls
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
large_distro_name: windows-vsCurrent-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-large
- name: .aggfuzzer .common
- name: audit
- name: auth_audit_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .concurrency .common
distros:
- windows-vsCurrent-large
- name: concurrency_replication_causal_consistency_gen
- name: initial_sync_fuzzer_gen
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common !.flow_control # Flow control jstestfuzz take longer.
- name: .read_write_concern .linearize !.durable_history
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: replica_sets_multi_stmt_txn_jscore_passthrough
- name: sasl
- name: .sharding .txns
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: snmp
- name: .ssl
- name: .resharding_fuzzer
- name: windows
display_name: Windows
run_on:
- windows-vsCurrent-small
expansions:
additional_package_targets: msi
exe: ".exe"
push_path: windows
push_bucket: downloads.mongodb.org
push_name: windows
push_arch: x86_64
multiversion_platform: windows_x86_64-2008plus-ssl
multiversion_platform_42_or_later: windows_x86_64-2012plus
multiversion_platform_44_or_later: windows
multiversion_edition: base
content_type: application/zip
compile_flags: --ssl MONGO_DISTMOD=windows -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
large_distro_name: windows-vsCurrent-large
test_flags: *windows_common_test_excludes
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-large
- name: .aggfuzzer
- name: .aggregation !.auth !.encrypt !.unwind
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
# Some concurrency workloads require a lot of memory, so we use machines
# with more RAM for these suites.
- name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only
distros:
- windows-vsCurrent-large
- name: .concurrency .common
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common !.auth
- name: jsonSchema
- name: .jstestfuzz !.initsync !.flow_control !.stepdowns
- name: multiversion_gen
- name: multiversion_auth_gen
- name: .query_fuzzer
- name: .read_write_concern
- name: replica_sets_gen
- name: replica_sets_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: .updatefuzzer
- name: push
distros:
- rhel70-small
- name: enterprise-windows
display_name: "Enterprise Windows"
modules:
- enterprise
run_on:
- windows-vsCurrent-small
expansions:
exe: ".exe"
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 c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 3
large_distro_name: windows-vsCurrent-large
push_path: windows
push_bucket: downloads.10gen.com
push_name: windows
push_arch: x86_64-enterprise
test_flags: *windows_common_test_excludes
exec_timeout_secs: 14400 # 3 hour timeout
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-large
- name: .aggfuzzer
- name: .aggregation !.auth !.encrypt !.unwind
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
# Some concurrency workloads require a lot of memory, so we use machines
# with more RAM for these suites.
- name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only
distros:
- windows-vsCurrent-large
- name: .concurrency .common
- name: disk_wiredtiger
- name: .jscore .common !.auth
- name: jsonSchema
- name: .jstestfuzz !.initsync !.flow_control !.stepdowns
- name: multiversion_gen
- name: multiversion_auth_gen
- name: powercycle_gen
- name: .query_fuzzer
- name: .read_write_concern
- name: replica_sets_gen
- name: replica_sets_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: .updatefuzzer
- name: push
distros:
- rhel70-small
- name: enterprise-windows-debug-unoptimized
display_name: Enterprise Windows DEBUG (Unoptimized)
modules:
- enterprise
run_on:
- windows-vsCurrent-small
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
exe: ".exe"
content_type: application/zip
compile_flags: --dbg=on --opt=off --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10
num_scons_link_jobs_available: 0.25
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
scons_cache_scope: shared
test_flags: *windows_common_test_excludes
tasks:
# This variant tests that unoptimized, DEBUG mongos and mongod binaries can run on Windows.
# It has a minimal amount of tasks because unoptimized builds are slow, which causes
# timing-sensitive tests to fail.
- name: compile_and_archive_dist_test_then_package_TG
distros:
- windows-vsCurrent-large
- name: compile_ninja_next_TG
distros:
- windows-vsCurrent-large
- name: compile_build_tools_next_TG
distros:
- windows-vsCurrent-large
- name: audit
# Do not add more tasks to this list.
###########################################
# OSX buildvariants #
###########################################
- name: macos
display_name: macOS
run_on:
- macos-1014
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos
push_path: osx
push_bucket: downloads.mongodb.org
push_name: macos
push_arch: x86_64
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars
resmoke_jobs_max: 6
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_build_tools_next_TG
- name: .aggregation !.auth !.encrypt !.unwind
- name: auth_gen
- name: .causally_consistent !.sharding
- name: .change_streams !.secondary_reads
- name: .misc_js
- name: .concurrency !.ubsan !.no_txns !.debug_only !.kill_terminate
- name: disk_wiredtiger
- name: free_monitoring
- name: initial_sync_fuzzer_gen
- name: .jscore .common !.auth
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .causal
- name: .jstestfuzz .interrupt
- name: .jstestfuzz .common
- name: .jstestfuzz .session
- name: .logical_session_cache .one_sec
- name: .query_fuzzer
- name: .read_write_concern !.linearize
- name: replica_sets_gen
- name: replica_sets_kill_secondaries_jscore_passthrough
- name: replica_sets_large_txns_format_gen
- name: .replica_sets .common !.auth
- name: retryable_writes_jscore_passthrough_gen
- name: .rollbackfuzzer
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns
- name: .ssl
- name: .stitch
- name: unittest_shell_hang_analyzer_gen
- name: push
distros:
- rhel70-small
- &macos-debug-template
name: macos-debug-suggested
display_name: "* Shared Library macOS DEBUG"
batchtime: 240 # 4 hours
run_on:
- macos-1014
expansions: &macos-debug-expansions
test_flags: --excludeWithAnyTags=incompatible_with_macos
resmoke_jobs_max: 6
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
compile_flags: --ssl --dbg=on --opt=on -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars --link-model=dynamic
num_scons_link_jobs_available: 0.99
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_build_tools_next_TG
- name: aggregation
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: disk_wiredtiger
- name: failpoints
- name: .jscore .common !.auth !.sharding
- name: jsCore_txns_large_txns_format
- name: mongosTest
- name: replica_sets_gen
- name: replica_sets_large_txns_format_gen
- name: .ssl
- name: .stitch
- name: unittest_shell_hang_analyzer_gen
- name: enterprise-macos
display_name: Enterprise macOS
modules:
- enterprise
run_on:
- macos-1014
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: osx
push_bucket: downloads.10gen.com
push_name: macos
push_arch: x86_64-enterprise
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars
resmoke_jobs_max: 6
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_ninja_next_TG
- name: compile_build_tools_next_TG
- name: libdeps_graph_linting_TG
- name: audit
- name: auth_audit_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: mqlrun
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: push
distros:
- rhel70-small
- name: enterprise-macos-xcode-current
display_name: "~ Enterprise macOS Xcode Current"
modules:
- enterprise
run_on:
- macos-1015
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos
compile_env: DEVELOPER_DIR=/Applications/Xcode12.4.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --link-model=dynamic --disable-warnings-as-errors --variables-files=etc/scons/xcode_macosx.vars
resmoke_jobs_max: 6
num_scons_link_jobs_available: 0.99
tasks:
- name: compile_test_and_package_serial_TG
- name: audit
- name: auth_audit_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore !.ssl
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: mqlrun
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
###########################################
# Embedded SDK buildvariants #
###########################################
- name: embedded-sdk-macos
display_name: "Embedded SDK - macOS"
run_on:
- macos-1014
batchtime: 10080 # 7 days
expansions:
test_flags: --excludeWithAnyTags=uses_transactions,incompatible_with_macos
cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
compile_flags: >-
--lto
--variables-files=etc/scons/xcode_macosx.vars
-j$(sysctl -n hw.logicalcpu)
LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
cdriver_cmake_osx_deployment_target: "10.14"
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)"
-DCMAKE_OSX_ARCHITECTURES=x86_64
-DENABLE_SSL=DARWIN
-DENABLE_ZLIB=BUNDLED
-DCMAKE_C_FLAGS="-Wunguarded-availability"
-DCMAKE_INSTALL_RPATH=@loader_path/../lib
disable_unit_tests: true
tasks:
- name: embedded_sdk_build_and_test
- name: embedded-sdk-ubuntu-1804-x86_64
display_name: "Embedded SDK - Ubuntu 18.04 x86_64"
run_on:
- ubuntu1804-build
expansions:
test_flags: --excludeWithAnyTags=uses_transactions
# We need --allocator=system here to work around SERVER-27675
compile_flags: >-
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
-j$(grep -c ^processor /proc/cpuinfo)
LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_C_COMPILER=/opt/mongodbtoolchain/v3/bin/gcc
-DCMAKE_CXX_COMPILER=/opt/mongodbtoolchain/v3/bin/g++
-DCMAKE_C_FLAGS="-flto"
-DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
disable_unit_tests: true
tasks:
- name: embedded_sdk_build_and_test
###########################################
# Redhat buildvariants #
###########################################
- name: enterprise-rhel-80-64-bit
display_name: "Enterprise RHEL 8.0"
batchtime: 1440 # 1 day
modules:
- enterprise
run_on:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-rhel80
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel80
repo_edition: enterprise
scons_cache_scope: shared
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 3
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-large
- name: .aggfuzzer
- name: .aggregation
- name: audit
- name: .auth
- name: unittest_shell_hang_analyzer_gen
- name: .causally_consistent !.sharding
- name: .change_streams
- name: .misc_js
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
distros:
- rhel80-medium
- name: disk_wiredtiger
- name: .encrypt
- name: idl_tests
- name: initial_sync_fuzzer_gen
- name: .integration
distros:
- rhel80-medium
- name: .jscore .common
- name: jsCore_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
- name: libunwind_tests
- name: mqlrun
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_gen
- name: .query_fuzzer
- name: .random_multiversion_ds
- name: .read_write_concern .large
distros:
- rhel80-medium
- name: .read_write_concern !.large
- name: .replica_sets !.encrypt !.auth
distros:
- rhel80-medium
- name: replica_sets_api_version_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
distros:
- rhel80-medium
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
distros:
- rhel80-medium
- name: .resharding_fuzzer
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
distros:
- rhel80-medium
- name: .read_only
- name: .rollbackfuzzer
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: sharding_api_version_jscore_passthrough_gen
- name: .sharding .txns
- name: .sharding .common
- name: snmp
- name: .stitch
- name: .updatefuzzer
- name: secondary_reads_passthrough_gen
- name: server_discovery_and_monitoring_json_test_TG
distros:
- rhel80-large
- name: server_selection_json_test_TG
distros:
- rhel80-large
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
- &enterprise-rhel-80-64-bit-dynamic-required-template
name: enterprise-rhel-80-64-bit-dynamic-required
display_name: "! Shared Library Enterprise RHEL 8.0"
batchtime: 240 # 4 hour
modules:
- enterprise
run_on:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-dynamic-required-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
large_distro_name: rhel80-medium
burn_in_tag_buildvariants: enterprise-rhel-80-64-bit-inmem linux-64-duroff enterprise-rhel-80-64-bit-multiversion
num_scons_link_jobs_available: 0.99
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- rhel80-xlarge
- name: compile_test_and_package_parallel_unittest_stream_TG
distros:
- rhel80-xlarge
- name: compile_test_and_package_parallel_dbtest_stream_TG
distros:
- rhel80-xlarge
- name: lint_pylinters
- name: lint_clang_format
- name: lint_eslint
- name: lint_cpplint
- name: lint_fuzzer_sanity_patch
- name: lint_yaml
- name: lint_shellscripts
- name: lint_errorcodes
- name: test_api_version_compatibility
- name: burn_in_tests_gen
- name: burn_in_tests_multiversion_gen
- name: check_for_todos
- name: .aggfuzzer
- name: .aggregation
- name: audit
- name: .auth
- name: burn_in_tags_gen
- name: buildscripts_test
- name: resmoke_end2end_tests
- name: unittest_shell_hang_analyzer_gen
- name: .causally_consistent !.sharding
- name: .change_streams
- name: .misc_js
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
distros:
- rhel80-medium
- name: disk_wiredtiger
- name: .encrypt
- name: idl_tests
- name: initial_sync_fuzzer_gen
- name: .integration
distros:
- rhel80-medium
- name: jsCore
distros:
- rhel80-xlarge
- name: .jscore .common !jsCore
- name: jsCore_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
- name: libunwind_tests
- name: multiversion_sanity_check_gen
- name: mqlrun
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_gen
- name: .query_fuzzer
- name: .random_multiversion_ds
- name: .read_write_concern .large
distros:
- rhel80-medium
- name: .read_write_concern !.large
- name: .replica_sets !.encrypt !.auth
distros:
- rhel80-xlarge
- name: replica_sets_api_version_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
distros:
- rhel80-xlarge
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
distros:
- rhel80-xlarge
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
distros:
- rhel80-medium
- name: .read_only
- name: .rollbackfuzzer
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: sharding_api_version_jscore_passthrough_gen
- name: .sharding .txns
- name: .sharding .common
- name: snmp
- name: .stitch
- name: .updatefuzzer
- name: secondary_reads_passthrough_gen
- name: server_discovery_and_monitoring_json_test_TG
- name: .tenant_migration
distros:
- rhel80-xlarge
- name: server_selection_json_test_TG
distros:
- rhel80-xlarge
- name: enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required
display_name: "! Shared Library Enterprise RHEL 8.0 (all feature flags)"
batchtime: 240 # 4 hour
stepback: false
modules:
- enterprise
run_on:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
large_distro_name: rhel80-medium
num_scons_link_jobs_available: 0.99
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: --runAllFeatureFlagTests
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- rhel80-large
# Disabling as the following tests are not aware of feature flags.
# - name: compile_test_and_package_parallel_unittest_stream_TG
# distros:
# - rhel80-large
# - name: compile_test_and_package_parallel_dbtest_stream_TG
# distros:
# - rhel80-medium
- name: libdeps_graph_linting_TG
distros:
- rhel80-large
- name: burn_in_tests_gen
- name: .aggfuzzer
- name: .aggregation
- name: audit
- name: .auth
- name: unittest_shell_hang_analyzer_gen
- name: .causally_consistent !.sharding
- name: .change_streams
- name: .misc_js
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
distros:
- rhel80-medium
- name: disk_wiredtiger
- name: .encrypt
- name: feature_flag_multiversion_gen
- name: idl_tests
- name: initial_sync_fuzzer_gen
- name: .integration
distros:
- rhel80-medium
- name: .jscore .common
- name: jsCore_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
- name: libunwind_tests
- name: mqlrun
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_gen
- name: powercycle_smoke
- name: .query_fuzzer
- name: .random_multiversion_ds
- name: .read_write_concern .large
distros:
- rhel80-medium
- name: .read_write_concern !.large
- name: .replica_sets !.encrypt !.auth
distros:
- rhel80-medium
- name: replica_sets_api_version_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
distros:
- rhel80-medium
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
distros:
- rhel80-medium
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
distros:
- rhel80-medium
- name: .read_only
- name: .rollbackfuzzer
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: sharding_api_version_jscore_passthrough_gen
- name: .sharding .txns
- name: .sharding .common
- name: sharded_multi_stmt_txn_jscore_passthrough
- name: snmp
- name: .stitch
- name: .tenant_migration
- name: .updatefuzzer
- name: secondary_reads_passthrough_gen
# Disabling as the following tests are not aware of feature flags.
# - name: server_discovery_and_monitoring_json_test_TG
# distros:
# - rhel80-large
# - name: server_selection_json_test_TG
# distros:
# - rhel80-large
- name: enterprise-rhel-80-64-bit-dynamic-classic-engine
display_name: "Shared Library Enterprise RHEL 8.0 (Classic Execution Engine)"
batchtime: 1440 # 1 day
stepback: false
modules:
- enterprise
run_on:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-dynamic-classic-engine-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
large_distro_name: rhel80-medium
num_scons_link_jobs_available: 0.99
test_flags: >-
--mongodSetParameters="{internalQueryForceClassicEngine: true}"
--additionalFeatureFlags=featureFlagTimeseriesCollection
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- rhel80-large
# Disable the following tests as they are not aware of feature flags.
# - name: compile_test_and_package_parallel_unittest_stream_TG
# distros:
# - rhel80-large
# - name: compile_test_and_package_parallel_dbtest_stream_TG
# distros:
# - rhel80-medium
- name: .aggfuzzer
- name: .aggregation !.no_async !.secondary_reads !.sharded !.unwind !aggregation_disabled_optimization
- name: .change_streams
- name: .concurrency !.large !.ubsan !.debug_only
- name: .jscore !.sharding !.decimal !cst_jscore_passthrough
- name: .jstestfuzz !.flow_control
- name: .query_fuzzer
- name: .read_write_concern
- name: .replica_sets
- name: .rollbackfuzzer
- name: causally_consistent_hedged_reads_jscore_passthrough_gen
- name: causally_consistent_jscore_passthrough_auth_gen
- name: causally_consistent_jscore_passthrough_gen
- name: causally_consistent_read_concern_snapshot_passthrough_gen
- name: initial_sync_fuzzer_gen
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
- name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen
- name: multi_shard_multi_stmt_txn_stepdown_primary_jscore_passthrough_gen
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: replica_sets_api_version_jscore_passthrough_gen
- name: replica_sets_multiversion_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
- name: session_jscore_passthrough
- name: sharded_causally_consistent_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: sharding_csrs_continuous_config_stepdown_gen
- name: sharding_ese_gcm_gen
- name: sharding_ese_gen
- name: sharding_gen
- name: sharding_jscore_passthrough
- name: sharding_api_version_jscore_passthrough_gen
- name: sharding_update_v1_oplog_jscore_passthrough
- name: sharding_last_lts_mongos_and_mixed_shards_gen
- name: sharding_max_mirroring_gen
- name: sharding_multiversion_gen
- name: sharding_update_v1_oplog_gen
- name: ese
distros:
- rhel80-medium
- name: enterprise-rhel-80-64-bit-large-txns-format
display_name: "Enterprise RHEL 8.0 (large transactions format)"
modules:
- enterprise
run_on:
- rhel80-small
batchtime: 10080 # 7 days
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
compile_flags: >-
--ssl
MONGO_DISTMOD=rhel80
-j$(grep -c ^processor /proc/cpuinfo)
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: enterprise
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: rhel80-medium
test_flags: >-
--mongodSetParameters="{maxNumberOfTransactionOperationsInSingleOplogEntry: 2}"
--excludeWithAnyTags=exclude_from_large_txns
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- rhel80-large
- name: auth_gen
- name: auth_audit_gen
- name: causally_consistent_jscore_txns_passthrough
- name: change_streams
- name: change_streams_whole_db_passthrough
- name: change_streams_whole_cluster_passthrough
- name: concurrency_replication_gen
- name: concurrency_replication_multi_stmt_txn
- name: concurrency_sharded_replication_gen
- name: concurrency_sharded_replication_with_balancer_gen
- name: concurrency_sharded_clusterwide_ops_add_remove_shards_gen
- name: concurrency_sharded_local_read_write_multi_stmt_txn_gen
- name: concurrency_sharded_local_read_write_multi_stmt_txn_with_balancer_gen
- name: concurrency_sharded_multi_stmt_txn_gen
- name: concurrency_sharded_multi_stmt_txn_with_balancer_gen
- name: concurrency_sharded_multi_stmt_txn_with_stepdowns_gen
- name: concurrency_sharded_with_stepdowns_gen
- name: concurrency_sharded_with_stepdowns_and_balancer_gen
- name: initial_sync_fuzzer_gen
- name: jsCore
- name: jsCore_txns
- name: .logical_session_cache .repl
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_auth_gen
- name: multiversion_gen
- name: noPassthrough_gen
- name: .replica_sets !.multi_oplog !.large
- name: .replica_sets !.multi_oplog .large
distros:
- rhel80-medium
- name: .resharding_fuzzer
- name: .rollbackfuzzer
- name: .sharding .txns
- name: sharding_gen
- name: sharding_auth_gen
- name: sharding_auth_audit_gen
- name: sharding_ese_gen
- name: sharding_ese_gcm_gen
- name: sharding_csrs_continuous_config_stepdown_gen
- name: sharded_multi_stmt_txn_jscore_passthrough
distros:
- rhel80-medium
# This build variant is used to run multiversion tests as part of burn_in_tags as these tests are
# currently only run on our daily builders.
- name: enterprise-rhel-80-64-bit-multiversion
display_name: "Enterprise RHEL 8.0 (implicit multiversion)"
modules:
- enterprise
run_on:
- rhel80-small
expansions: &enterprise-rhel-80-64-bit-multiversion
test_flags: >-
--excludeWithAnyTags=requires_fcv_47,requires_fcv_48,requires_fcv_49,requires_fcv_50,multiversion_incompatible
compile_flags: >-
-j$(grep -c ^processor /proc/cpuinfo)
--ssl
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
MONGO_DISTMOD=rhel80
multiversion_platform: rhel80
multiversion_edition: enterprise
repo_edition: enterprise
scons_cache_scope: shared
tooltags: "ssl sasl gssapi"
build_mongoreplay: true
large_distro_name: rhel80-medium
resmoke_jobs_factor: 0.25
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-xlarge
- name: .multiversion_fuzzer
- name: .multiversion_passthrough
- name: .random_multiversion_ds
- name: rhel-80-64-bit-nossl
display_name: "RHEL 8.0 Shared Library (No SSL)"
run_on:
- rhel80-small
batchtime: 1440 # 1 day
expansions:
compile_flags: >-
-j$(grep -c ^processor /proc/cpuinfo)
--ssl=off
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
MONGO_DISTMOD=rhel80
--link-model=dynamic
multiversion_platform: rhel80
multiversion_edition: enterprise
scons_cache_scope: shared
build_mongoreplay: false
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-large
- name: jsCore
- name: enterprise-rhel-80-64-bit-coverage
display_name: "~ Enterprise RHEL 8.0 DEBUG Code Coverage"
modules:
- enterprise
run_on:
- rhel80-medium
batchtime: 10080 # 7 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
test_flags: --excludeWithAnyTags=resource_intensive
compile_flags: --dbg=on --gcov --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: enterprise
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
# The gcov instrumentation saves the path the .gcno files were created in as the default path
# for the .gcda files. In Evergreen the path will start with /data/mci/[Hashed ID]/src/... where
# the hashed ID is unique per task run. GCOV_PREFIX_STRIP is the number of directory levels to
# strip from the top of the default path before appending to the GCOV_PREFIX (if any).
gcov_environment: GCOV_PREFIX=$(pwd) GCOV_PREFIX_STRIP=4
# Mixing --cache and --gcov doesn't work correctly yet. See SERVER-11084
exec_timeout_secs: 16200 # 4.5 hour timeout
use_scons_cache: false
tasks:
- name: compile_test_and_package_serial_TG
- name: .aggregation !.unwind
- name: audit
- name: .auth
- name: causally_consistent_jscore_txns_passthrough
- name: .change_streams
- name: .misc_js
- name: .concurrency !.ubsan !.no_txns !.stepdowns !.kill_terminate
- name: disk_wiredtiger
- name: .encrypt
- name: initial_sync_fuzzer_gen
- name: .integration !.audit
- name: .jscore .common
- name: jsCore_txns_large_txns_format
- name: jsCore_minimum_batch_size
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- 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
- name: .read_only
- name: .rollbackfuzzer
- name: retryable_writes_jscore_passthrough_gen
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot
- name: .sharding .common
- name: snmp
- name: .updatefuzzer
# The following build variant is meant to provide a baseline to measure how much overhead we
# are spending when we split tasks into multiple sub-tasks.
- name: enterprise-rhel-80-64-bit-single-task-baseline
display_name: "Enterprise RHEL 8.0 (Single Task Baseline)"
batchtime: 10080 # 1 week.
modules:
- enterprise
run_on:
- rhel80-small
expansions:
<<: *enterprise-rhel-80-64-bit-expansions
max_sub_suites: 1 # Only generate 1 sub-suite per task.
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-medium
- name: .aggregation
- name: .auth
- name: unittest_shell_hang_analyzer_gen
- name: .causally_consistent !.sharding
- name: .change_streams
- name: .misc_js
- name: .encrypt
- name: .jscore .common
- name: .logical_session_cache
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_gen
- name: .read_write_concern .large
distros:
- rhel80-medium
- name: .read_write_concern !.large
- name: .replica_sets !.encrypt !.auth
distros:
- rhel80-medium
- name: retryable_writes_jscore_passthrough_gen
- name: .read_only
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .txns
- name: .sharding .common
- name: secondary_reads_passthrough_gen
- &enterprise-rhel-70-64-bit-template
name: enterprise-rhel-70-64-bit
display_name: "Enterprise RHEL 7.0"
modules:
- enterprise
run_on:
- rhel70-small
expansions: &enterprise-rhel-70-64-bit-expansions-template
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-rhel70
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel70
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel70
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel70
- name: compile_build_tools_next_TG
distros:
- rhel70
- name: .aggfuzzer
- name: audit
- name: auth_audit_gen
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: config_fuzzer_concurrency
- name: config_fuzzer_concurrency_replication
distros:
- rhel70-large
- name: config_fuzzer_jsCore
- name: config_fuzzer_replica_sets_jscore_passthrough
distros:
- rhel70-large
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: libunwind_tests
- name: .logical_session_cache .one_sec
- name: .ocsp
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: sharding_auth_audit_gen
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: unittest_shell_hang_analyzer_gen
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel70-small
- name: ubi8
display_name: "UBI 8"
run_on:
- ubi8
expansions:
resmoke_jobs_factor: 1
disable_shared_scons_cache: true
compile_flags: MONGO_DISTMOD=rhel80 --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
tooltags: ""
build_mongoreplay: true
test_flags: >-
--excludeWithAnyTags=requires_os_access
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- rhel80-large
- name: jsCore
- name: sharding_gen
- name: replica_sets_gen
- &enterprise-rhel-80-64-bit-suggested-template
name: enterprise-rhel-80-64-bit-suggested
display_name: "* Enterprise RHEL 8.0"
batchtime: 240 # 4 hours
modules:
- enterprise
run_on:
- rhel80-build
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-rhel80
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel80
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: rhel80-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-xlarge
- name: .aggfuzzer
- name: audit
- name: auth_audit_gen
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: libunwind_tests
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: sharding_auth_audit_gen
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
- name: enterprise-rhel-82-arm64
display_name: "Enterprise RHEL 8.2 arm64"
modules:
- enterprise
run_on:
- rhel82-arm64-small
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: aarch64-enterprise-rhel82
compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: rhel82
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel82-arm64-large
- name: .aggfuzzer !.multiversion
- name: audit
- name: auth_audit_gen
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: sharding_auth_audit_gen
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
# This variant is to intentionally test uncommon features nightly
- <<: *enterprise-rhel-70-64-bit-template
name: enterprise-rhel-70-64-bit-kitchen-sink
display_name: "~ Enterprise RHEL 7.0"
batchtime: 1440 # 1 day
expansions:
<<: *enterprise-rhel-70-64-bit-expansions-template
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel70
- name: jsCore
- <<: *enterprise-rhel-70-64-bit-template
name: hot_backups-rhel-70-64-bit
display_name: "hot_backups RHEL 7.0"
batchtime: 1440 # 1 day
run_on:
- rhel70
expansions:
<<: *enterprise-rhel-70-64-bit-expansions-template
additional_package_targets: ""
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enterprise-features=hot_backups
has_packages: false
tasks:
- name: compile_test_and_package_serial_TG
- name: jsCore
- name: noPassthroughHotBackups_gen
- <<: *enterprise-rhel-70-64-bit-template
name: enterprise-rhel-70-64-bit-no-libunwind
display_name: "~ Enterprise RHEL 7.0 (no-libunwind)"
batchtime: 10080 # 1 week
run_on:
- rhel70
expansions:
<<: *enterprise-rhel-70-64-bit-expansions-template
compile_flags: --ssl MONGO_DISTMOD=rhel70 --use-libunwind=off --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
has_packages: false
additional_package_targets: ""
# Override list of tasks to exclude package testing and publishing
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel70
- name: .aggfuzzer
- name: audit
- name: auth_audit_gen
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
- name: search_auth
- name: search_ssl
- name: sharding_auth_audit_gen
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: ubuntu1804-debug-suggested
display_name: "* Shared Library Ubuntu 18.04 DEBUG"
batchtime: 240 # 4 hours
run_on:
- ubuntu1804-test
expansions:
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
scons_cache_scope: shared
scons_cache_mode: all
num_scons_link_jobs_available: 0.99
large_distro_name: ubuntu1804-large
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- ubuntu1804-xlarge
- name: compile_test_and_package_parallel_unittest_stream_TG
distros:
- ubuntu1804-xlarge
- name: compile_test_and_package_parallel_dbtest_stream_TG
distros:
- ubuntu1804-xlarge
- name: compile_build_tools_next_TG
distros:
- ubuntu1804-xlarge
- name: jsCore
- name: .read_write_concern !.write !.aggregation
- name: replica_sets_jscore_passthrough
- name: replica_sets_large_txns_format_jscore_passthrough
- name: sharded_collections_jscore_passthrough
- name: sharding_gen
- name: sharding_auth_gen
- name: .stitch
- name: unittest_shell_hang_analyzer_gen
- name: ubuntu1804-container
display_name: "Ubuntu 18.04 Container"
run_on:
- ubuntu1804-container-server
expansions:
resmoke_jobs_factor: 1
disable_shared_scons_cache: true
compile_flags: MONGO_DISTMOD=ubuntu1804 --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
tooltags: ""
build_mongoreplay: true
test_flags: >-
--excludeWithAnyTags=requires_os_access
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- ubuntu1804-build
- name: jsCore
- name: sharding_gen
- name: replica_sets_gen
- name: rhel70
display_name: RHEL 7.0
run_on:
- rhel70-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-rhel70
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel70
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: rhel70
repo_edition: org
scons_cache_scope: shared
large_distro_name: rhel70
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel70
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
distros:
- rhel70
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel70-small
- name: rhel80
display_name: RHEL 8.0
run_on:
- rhel80-build
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-rhel80
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: rhel80
repo_edition: org
scons_cache_scope: shared
large_distro_name: rhel80-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-build
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
distros:
- rhel80-build
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
- name: rhel-82-arm64
display_name: RHEL 8.2 arm64
run_on:
- rhel82-arm64-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: aarch64-rhel82
compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: rhel82
repo_edition: org
scons_cache_scope: shared
large_distro_name: rhel82-arm64-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel82-arm64-large
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
distros:
- rhel82-arm64-large
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs !.multiversion
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- rhel80-small
# This variant compiles on RHEL 7.0 and runs tests on RHEL 7.6
- name: rhel76_compile_rhel70
display_name: RHEL 7.0/7.6 Cross-ABI
run_on:
- rhel76-test
expansions:
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- rhel70
- name: .ssl
- name: jsCore
- name: external_auth
- name: enterprise-rhel-81-ppc64le
display_name: Enterprise RHEL 8.1 PPC64LE
modules:
- enterprise
run_on:
- rhel81-power8-small
batchtime: 10080 # 7 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
compile_flags: --ssl MONGO_DISTMOD=rhel81 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_factor: 0.25
has_packages: true
packager_script: packager_enterprise.py
packager_arch: ppc64le
packager_distro: rhel81
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: ppc64le-enterprise-rhel81
repo_edition: enterprise
multiversion_platform: rhel81
multiversion_architecture: ppc64le
multiversion_edition: enterprise
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel81-power8-large
- name: .aggregation .common
- name: audit
- name: .auth !.multiversion !.jscore
- name: .misc_js
- name: .encrypt
- name: .integration !.audit
distros:
- rhel81-power8-large
- name: .jscore .common !.auth
- name: .read_write_concern
- name: replica_sets_gen
- name: .replica_sets .common
- name: sasl
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.multiversion
- name: snmp
- name: .stitch
- name: .publish
distros:
- rhel70-small
- name: enterprise-rhel-72-s390x-compile
display_name: Enterprise RHEL 7.2 s390x Compile
modules:
- enterprise
run_on:
- rhel72-zseries-test
batchtime: 10080 # 7 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
release_buid: true
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
packager_arch: s390x
packager_distro: rhel72
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: s390x-enterprise-rhel72
repo_edition: enterprise
multiversion_platform: rhel72
multiversion_architecture: s390x
multiversion_edition: enterprise
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel72-zseries-build
- name: enterprise-rhel-72-s390x
display_name: Enterprise RHEL 7.2 s390x
modules:
- enterprise
run_on:
- rhel72-zseries-test
batchtime: 525600 # 365 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
release_buid: true
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
packager_arch: s390x
packager_distro: rhel72
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: s390x-enterprise-rhel72
repo_edition: enterprise
multiversion_platform: rhel72
multiversion_architecture: s390x
multiversion_edition: enterprise
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel72-zseries-build
- name: .aggregation .common
- name: audit
- name: .auth !.multiversion !.jscore
- name: .misc_js
- name: .encrypt
- name: .integration !.audit
distros:
- rhel72-zseries-build
- name: .jscore .common !.auth
- name: .read_write_concern
- name: replica_sets_gen
- name: .replica_sets .common
- name: sasl
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.multiversion
- name: snmp
- name: .stitch
- name: .publish
distros:
- rhel70-small
- name: enterprise-rhel-72-s390x-all-feature-flags
display_name: Enterprise RHEL 7.2 s390x (all feature flags)
modules:
- enterprise
run_on:
- rhel72-zseries-test
batchtime: 525600 # 365 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
release_buid: true
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
packager_arch: s390x
packager_distro: rhel72
repo_edition: enterprise
multiversion_platform: rhel72
multiversion_architecture: s390x
multiversion_edition: enterprise
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
tasks:
- name: compile_and_archive_dist_test_then_package_TG
distros:
- rhel72-zseries-build
- name: jsCore
- name: replica_sets_jscore_passthrough
- name: rhel-72-s390x
display_name: RHEL 7.2 s390x
batchtime: 525600 # 365 days
run_on:
- rhel72-zseries-test
expansions:
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
has_packages: true
packager_script: packager.py
packager_arch: s390x
packager_distro: rhel72
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: s390x-rhel72
repo_edition: org
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel72-zseries-build
- name: jsCore
- name: replica_sets_jscore_passthrough
- name: ssl_gen
- name: .publish
distros:
- rhel70-small
###########################################
# Ubuntu buildvariants #
###########################################
- name: enterprise-ubuntu-dynamic-1804-clang-tidy-required
display_name: "! Enterprise Clang Tidy"
batchtime: 240 # 4 hours
modules:
- enterprise
run_on:
- ubuntu1804-xlarge
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
lang_environment: LANG=C
compile_flags: --link-model=dynamic -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars
# Unlike static builds, dynamic builds have no need to
# constrain the number of link jobs. Unfortunately, --jlink=1
# means one link job, not 100%. So this is a bit gross but set
# it to .99.
num_scons_link_jobs_available: 0.99
scons_cache_scope: shared
scons_cache_mode: all
show_scons_timings: false
tasks:
- name: clang_tidy_TG
###########################################
# SUSE buildvariants #
###########################################
- name: enterprise-suse12-64
display_name: Enterprise SLES 12
modules:
- enterprise
run_on:
- suse12-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-suse12
compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: suse12
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: suse12
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse12-build
- name: .aggfuzzer .common
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- suse12-small
- name: suse12
display_name: SUSE 12
run_on:
- suse12-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-suse12
compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: suse12
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: suse12
repo_edition: org
scons_cache_scope: shared
large_distro_name: suse12-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse12-build
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common !.large
- name: .concurrency .common .large
distros:
- suse12-build
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common !.decimal
- name: .jstestfuzz .common
- name: multiversion_gen
- name: .logical_session_cache .one_sec
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: .publish
distros:
- suse12-small
- name: enterprise-suse15-64
display_name: Enterprise SLES 15
modules:
- enterprise
run_on:
- suse15-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-suse15
compile_flags: --ssl MONGO_DISTMOD=suse15 --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: suse15
repo_edition: enterprise
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse15-build
- name: .aggfuzzer .common !.multiversion
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: .publish
distros:
- suse15-small
- name: suse15
display_name: SUSE 15
run_on:
- suse15-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-suse15
compile_flags: --ssl MONGO_DISTMOD=suse15 --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: suse15
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: suse15
repo_edition: org
scons_cache_scope: shared
large_distro_name: suse15-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse15-build
- name: .aggfuzzer .common !.multiversion
- name: aggregation
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common !.decimal
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .txns
- name: .sharding .common !.csrs !.multiversion
- name: .ssl
- name: .stitch
- name: .publish
distros:
- suse15-small
###########################################
# Debian buildvariants #
###########################################
- name: enterprise-debian92-64
display_name: Enterprise Debian 9.2
modules:
- enterprise
run_on:
- debian92-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-debian92
compile_flags: --ssl MONGO_DISTMOD=debian92 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: debian92
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: debian92
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: debian92-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian92-build
- name: .aggfuzzer .common
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- debian92-small
- name: debian92
display_name: Debian 9.2
run_on:
- debian92-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-debian92
compile_flags: --ssl MONGO_DISTMOD=debian92 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: debian92
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: debian92
repo_edition: org
scons_cache_scope: shared
large_distro_name: debian92-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian92-build
- name: .aggfuzzer .common
- name: aggregation
- name: aggregation_auth
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common !.decimal
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- debian92-small
- name: enterprise-debian10-64
display_name: Enterprise Debian 10
modules:
- enterprise
run_on:
- debian10-test
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
push_path: linux
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-debian10
compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: debian10
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: debian10
repo_edition: enterprise
scons_cache_scope: shared
large_distro_name: debian10-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian10-build
- name: .aggfuzzer .common
- name: audit
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
- name: .jscore .common !.decimal !.sharding
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough
- name: sasl
- name: sharding_auth_gen
- name: snmp
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- debian10-small
- name: debian10
display_name: Debian 10
run_on:
- debian10-test
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-debian10
compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: debian10
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: debian10
repo_edition: org
scons_cache_scope: shared
large_distro_name: debian10-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian10-build
- name: .aggfuzzer .common
- name: aggregation
- name: aggregation_auth
- name: .auth !.audit !.multiversion
- name: causally_consistent_jscore_txns_passthrough
- name: .misc_js
- name: .concurrency .common
- name: concurrency_replication_causal_consistency_gen
- name: disk_wiredtiger
- name: free_monitoring
- name: .jscore .common !.decimal
- name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: multiversion_gen
- name: replica_sets_gen
- name: .replica_sets .common
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: .ssl
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- name: .publish
distros:
- debian10-small
################################
# storage engine buildvariants #
################################
- name: enterprise-rhel-80-benchmarks
display_name: Enterprise RHEL 8.0 (Benchmarks)
modules:
- enterprise
run_on:
- rhel80-medium
expansions:
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
tasks:
- name: compile_benchmarks
- name: .benchmarks
- name: enterprise-rhel-80-64-bit-inmem
display_name: Enterprise RHEL 8.0 (inMemory)
modules:
- enterprise
run_on:
- rhel80-small
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: enterprise
scons_cache_scope: shared
large_distro_name: rhel80-medium
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel80-xlarge
- name: .aggfuzzer .common
- name: .aggregation !.unwind !.encrypt
- name: audit
- name: .auth !.multiversion
- name: .causally_consistent !.wo_snapshot !.durable_history
- name: .change_streams !.secondary_reads
- name: .misc_js
- name: .concurrency !.ubsan !.no_txns !.debug_only !.kill_terminate
distros:
- rhel80-medium # Some workloads require a lot of memory, use a bigger machine for this suite.
- name: initial_sync_fuzzer_gen
- name: .integration !.audit
distros:
- rhel80-medium
- name: .jscore .common !.decimal
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz !.initsync
- name: .logical_session_cache
- name: .multi_shard .common
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: .read_write_concern !.durable_history
- name: replica_sets_gen
- name: .replica_sets .common
- name: .replica_sets .multi_oplog
- name: replica_sets_multi_stmt_txn_jscore_passthrough
- name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen
distros:
- rhel80-medium
- name: .resharding_fuzzer
- name: .retry
- name: rollback_fuzzer_gen
- name: sasl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: sharded_multi_stmt_txn_jscore_passthrough
distros:
- rhel80-medium
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.multiversion !.csrs
- name: snmp
- name: .ssl
- name: .updatefuzzer
- name: linux-64-ephemeralForTest
display_name: Linux (ephemeralForTest)
run_on:
- rhel80-medium
expansions:
# Transactions are not explicitly supported on the ephemeralForTest storage engine.
# Speculative majority reads are currently only allowed for change streams, which are only supported on WiredTiger.
# We also relax oplog constraints so that applying oplog entries after a rollbackViaRefetch works correctly.
# TODO (SERVER-47022): Re-enable oplog constraint enforcement once we set the application mode
# correctly after rollbackViaRefetch.
test_flags: >-
--storageEngine=ephemeralForTest
--excludeWithAnyTags=requires_persistence,requires_fsync,requires_journaling,requires_wiredtiger,uses_transactions,uses_speculative_majority,requires_snapshot_read,requires_majority_read_concern,uses_change_streams,requires_sharding,incompatible_with_eft
--mongodSetParameters="{oplogApplicationEnforcesSteadyStateConstraints: false}"
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: rhel80
multiversion_edition: targeted
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: .aggfuzzer .common
- name: aggregation
- name: .auth !.multiversion !.audit !.sharding
- name: .misc_js
# SERVER-50296: Investigate concurrency test failures.
# - name: concurrency
# - name: concurrency_replication_gen
# - name: concurrency_replication_causal_consistency_gen
# - name: concurrency_simultaneous_gen
# - name: concurrency_simultaneous_replication
- name: .integration !.audit
- name: .jscore .common !.txns !.decimal
# SERVER-50295: Investigate jstestfuzz time outs.
# - name: .jstestfuzz .common
- name: .logical_session_cache .one_sec
- name: .read_write_concern .linearize
- name: replica_sets_gen
- name: .replica_sets .common
# SERVER-49428: Disabled due to writeConcernMajorityJournalDefault is not off
# rollback_fuzzer_gen
- name: .updatefuzzer
- name: enterprise-rhel-72-s390x-inmem
display_name: Enterprise RHEL 7.2 s390x (inMemory) DEBUG
modules:
- enterprise
run_on:
- rhel72-zseries-test
batchtime: 525600 # 365 days
stepback: false
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
resmoke_jobs_max: 2
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel72-zseries-build
- name: .aggregation .common
- name: .auth !.multiversion
- name: audit
- name: .misc_js
- name: .integration !.audit
distros:
- rhel72-zseries-build
- name: .jscore .common !.decimal
- name: .read_write_concern !.durable_history
- name: replica_sets_gen
- name: .replica_sets .common
- name: sasl
- name: secondary_reads_passthrough_gen
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.multiversion !.csrs
- name: snmp
- name: .ssl
###########################################
# Experimental buildvariants #
###########################################
- &ubuntu1804-debug-asan-template
name: ubuntu1804-debug-asan
display_name: ~ ASAN Enterprise Ubuntu 18.04 DEBUG
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_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: ubuntu1804
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
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_benchmarks
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- 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: snmp
- name: .watchdog
- name: .stitch
- name: .tenant_migration
- name: unittest_shell_hang_analyzer_gen
- name: .updatefuzzer
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- <<: *ubuntu1804-debug-asan-template
name: ubuntu1804-debug-asan-all-feature-flags
display_name: "~ Shared Library ASAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
multiversion_platform: ubuntu1804
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
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
tasks:
- name: compile_and_archive_dist_test_then_package_TG
- name: compile_benchmarks
- name: .aggregation
# - name: .auth
- name: audit
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .logical_session_cache
- name: .multi_shard .common
- name: .query_fuzzer
- 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: sasl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot
- name: .sharding .common !.csrs
- name: snmp
- name: .tenant_migration
- name: .watchdog
- name: .stitch
# Disabling the following tests as they are not aware of feature flags.
# - name: .benchmarks
# - name: unittest_shell_hang_analyzer_gen
# - name: server_discovery_and_monitoring_json_test_TG
# - name: server_selection_json_test_TG
- <<: *ubuntu1804-debug-asan-template
name: ubuntu1804-debug-asan-classic-engine
display_name: ~ ASAN Enterprise Ubuntu 18.04 DEBUG (Classic Execution Engine)
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_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: >-
--mongodSetParameters="{internalQueryForceClassicEngine: true}"
--excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling
multiversion_platform: ubuntu1804
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
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_benchmarks
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .logical_session_cache
- name: .multi_shard .common
- name: .query_fuzzer
- 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: snmp
- name: .watchdog
- name: .stitch
- name: .tenant_migration
- name: unittest_shell_hang_analyzer_gen
- name: .updatefuzzer
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- name: ubuntu1804-asan
display_name: ~ ASAN Ubuntu 18.04
run_on:
- ubuntu1804-build
stepback: true
expansions:
lang_environment: LANG=C
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo)
multiversion_platform: ubuntu1804
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
tasks:
- name: compile_test_and_package_serial_TG
- name: .aggfuzzer .common
- name: free_monitoring
- name: .jstestfuzz !.initsync
- &ubuntu1804-debug-ubsan-template
name: ubuntu1804-debug-ubsan
display_name: ~ UBSAN Enterprise Ubuntu 18.04 DEBUG
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_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: ubuntu1804
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_benchmarks
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- 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: snmp
- name: .stitch
- name: .updatefuzzer
- name: .tenant_migration
- name: watchdog_wiredtiger
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- <<: *ubuntu1804-debug-ubsan-template
name: ubuntu1804-debug-ubsan-all-feature-flags
display_name: "~ Shared Library UBSAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--excludeWithAnyTags=requires_ocsp_stapling
--runAllFeatureFlagTests
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
scons_cache_scope: shared
tasks:
- name: compile_and_archive_dist_test_then_package_TG
- name: compile_benchmarks
- name: .aggregation
- name: .auth
- name: audit
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .logical_session_cache .one_sec
- name: .multi_shard .common
- 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: snmp
- name: .stitch
- name: .tenant_migration
- name: .updatefuzzer
- name: watchdog_wiredtiger
# Disabling the following tests as they are not aware of feature flags.
# - name: .benchmarks
# - name: server_discovery_and_monitoring_json_test_TG
# - name: server_selection_json_test_TG
- <<: *ubuntu1804-debug-ubsan-template
name: ubuntu1804-debug-ubsan-classic-engine
display_name: ~ UBSAN Enterprise Ubuntu 18.04 DEBUG (Classic Execution Engine)
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
test_flags: >-
--mongodSetParameters="{internalQueryForceClassicEngine: true}"
--excludeWithAnyTags=requires_ocsp_stapling
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: compile_benchmarks
- 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_minimum_batch_size
- name: jsCore_txns_large_txns_format
- name: jsonSchema
- name: .logical_session_cache .one_sec
- name: .multi_shard .common
- 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: snmp
- name: .stitch
- name: .updatefuzzer
- name: .tenant_migration
- name: watchdog_wiredtiger
- name: server_discovery_and_monitoring_json_test_TG
- name: server_selection_json_test_TG
- &ubuntu1804-debug-aubsan-lite-required-template
name: ubuntu1804-debug-aubsan-lite-required
display_name: "! Shared Library {A,UB}SAN Enterprise Ubuntu 18.04 DEBUG"
batchtime: 240 # 4 hours
modules:
- enterprise
run_on:
- ubuntu1804-build
stepback: true
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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) --link-model=dynamic
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
scons_cache_scope: shared
scons_cache_mode: all
max_sub_suites: 3
num_scons_link_jobs_available: 0.99
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- ubuntu1804-xlarge
- name: compile_test_and_package_parallel_unittest_stream_TG
distros:
- ubuntu1804-xlarge
- name: compile_test_and_package_parallel_dbtest_stream_TG
distros:
- ubuntu1804-xlarge
- name: jsCore
- name: jsCore_txns
- name: unittest_shell_hang_analyzer_gen
- <<: *ubuntu1804-debug-aubsan-lite-required-template
name: ubuntu1804-debug-aubsan-lite-all-feature-flags-required
display_name: "! Shared Library {A,UB}SAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
batchtime: 240 # 4 hours
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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) --link-model=dynamic
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--excludeWithAnyTags=requires_ocsp_stapling
--runAllFeatureFlagTests
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
scons_cache_scope: shared
scons_cache_mode: all
max_sub_suites: 3
num_scons_link_jobs_available: 0.99
tasks:
- name: compile_test_and_package_parallel_core_stream_TG
distros:
- ubuntu1804-xlarge
- name: jsCore
- name: jsCore_txns
# Disabling these tests as they are not aware of feature flags.
# - name: compile_test_and_package_parallel_unittest_stream_TG
# distros:
# - ubuntu1804-xlarge
# - name: compile_test_and_package_parallel_dbtest_stream_TG
# distros:
# - ubuntu1804-xlarge
# - name: unittest_shell_hang_analyzer_gen
- name: ubuntu1804-debug-aubsan-lite_fuzzer
display_name: "{A,UB}SAN Enterprise Ubuntu 18.04 FUZZER"
modules:
- enterprise
run_on:
- ubuntu1804-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/v3/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:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
compile_flags: LINKFLAGS=-nostdlib++ LIBS=stdc++ --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address,fuzzer --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
scons_cache_scope: shared
display_tasks:
- *libfuzzertests
tasks:
- name: compile_archive_and_run_libfuzzertests_TG
- name: enterprise-ubuntu2004-debug-tsan
display_name: ~ TSAN Enterprise Ubuntu 20.04 DEBUG (ephemeralForTest)
modules:
- enterprise
run_on:
- ubuntu2004-large
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.
#
# TODO SERVER-49121: die_after_fork=0 is a temporary setting to
# allow tests to continue while we figure out why we're running
# afoul of it.
#
# TODO SERVER-48490: report_thread_leaks=0 suppresses reporting
# thread leaks, which we have because we don't do a clean shutdown
# of the ServiceContext.
#
san_options: TSAN_OPTIONS="halt_on_error=1:report_thread_leaks=0:die_after_fork=0:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
# TODO: Remove some of the excluded tags when the ephemeralForTest storage engine is
# further along in development: https://jira.mongodb.org/browse/SERVER-48325
test_flags: --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_journaling,uses_transactions,requires_wiredtiger,requires_snapshot_read,requires_majority_read_concern
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=thread --ssl --enable-free-mon=on --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo)
# Avoid starting too many mongod's under TSAN build.
resmoke_jobs_factor: 0.3
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
- name: jsCore
- name: enterprise-ubuntu-unoptimized-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (without Diagnostic Latches)"
batchtime: 1440 # 1 day
modules:
- enterprise
expansions:
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --use-diagnostic-latches=off
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: enterprise-ubuntu-no-latch-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 DEBUG (Unoptimized)"
modules:
- enterprise
expansions:
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --dbg=on --opt=off --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --detect-odr-violations
scons_cache_scope: shared
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: enterprise-ubuntu-fixed-service-executor-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with FixedServiceExecutor)"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="{initialServiceExecutorThreadingModel: borrowed}"
--mongodSetParameters="{initialServiceExecutorThreadingModel: borrowed}"
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: enterprise-ubuntu-sdam-replica-set-monitor-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with SdamReplicaSetMonitor)"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="{replicaSetMonitorProtocol: sdam}"
--mongodSetParameters="{replicaSetMonitorProtocol: sdam}"
--excludeWithAnyTags=requires_streamable_rsm
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: enterprise-ubuntu-task-executor-pool-size-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with {taskExecutorPoolSize: 4})"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: |- # Set the taskExecutorPoolSize for all tests
--mongosSetParameters="taskExecutorPoolSize: 4"
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-matchPrimary-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"matchPrimaryNode\"})"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"matchPrimaryNode\""
--excludeWithAnyTags=sets_replica_set_matching_strategy
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-matchBusiest-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"matchBusiestNode\"})"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"matchBusiestNode\""
--excludeWithAnyTags=sets_replica_set_matching_strategy
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-disabled-1804-64-bit
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"disabled\"})"
batchtime: 1440 # 1 day
run_on:
- ubuntu1804-test
modules:
- enterprise
expansions:
scons_cache_scope: shared
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"disabled\""
--excludeWithAnyTags=sets_replica_set_matching_strategy
large_distro_name: ubuntu1804-build
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu1804-build
- name: .aggregation !.no_async
- name: .sharding .auth
- name: .sharding .causally_consistent !.wo_snapshot
- name: .concurrency .common !.kill_terminate
- name: .integration !.audit
- name: .jscore .common
- name: .logical_session_cache .one_sec
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
- name: .sharding .common !.csrs
- name: shared-scons-cache-pruning
display_name: "Shared SCons Cache Pruning"
run_on:
- ubuntu1604-test
stepback: false
tasks:
- name: shared_scons_cache_pruning
- name: windows-shared-scons-cache-pruning
display_name: "Windows shared SCons Cache Pruning"
run_on:
- windows-vsCurrent-small
stepback: false
expansions:
python: '/cygdrive/c/python/python37/python.exe'
tasks:
- name: win_shared_scons_cache_pruning
- name: selected-tests
display_name: "~ Selected Tests"
modules:
- enterprise
run_on:
- rhel80-small
batchtime: 10080 # 7 days
stepback: false
expansions:
selected_tests_buildvariants: enterprise-windows-required linux-64-debug-required enterprise-ubuntu-dynamic-1604-clang ubuntu1804-debug-aubsan-lite-required
tasks:
- name: selected_tests_gen
- name: commit-queue
display_name: "~ Commit Queue"
modules:
- enterprise
run_on:
- rhel80-small
batchtime: 10080 # 7 days
stepback: false
tasks:
- name: validate_commit_message
- name: check_for_todos
- name: live-record
display_name: "~ RHEL 8.0 Shared Library (with UndoDB live-record)"
batchtime: 1440 # 1 day
stepback: false
modules:
- enterprise
run_on:
- rhel80-medium
expansions:
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
target_resmoke_time: 10
max_sub_suites: 3
large_distro_name: rhel80-medium
num_scons_link_jobs_available: 0.99
record_with: --recordWith /opt/undodb5/bin/live-record
resmoke_jobs_factor: 0.3
exec_timeout_secs: 28800 # 8 hours
test_flags: --excludeWithAnyTags=requires_fast_memory,live_record_incompatible
tasks:
- name: compile_and_archive_dist_test_TG
- name: .aggfuzzer
- name: .aggregation
# - name: audit
# - name: .auth !.multiversion !.non_live_record
# - name: .causally_consistent !.sharding
# - name: .change_streams
# - name: .misc_js !.non_live_record
- name: .concurrency !.ubsan !.no_txns !.debug_only !.stepdowns !.non_live_record !.large
# - name: .encrypt
# - name: initial_sync_fuzzer_gen
- name: .jscore .common
# - name: jsCore_minimum_batch_size
- name: jsCore_txns_large_txns_format
# - name: jsonSchema
- name: .jstestfuzz !.flow_control !.stepdowns !.causal
# - name: multiversion_sanity_check_gen
# - name: mqlrun
# - name: .multi_shard
# - name: .query_fuzzer
# - name: .read_write_concern
# - name: .replica_sets !.encrypt !.auth !.non_live_record
# - name: replica_sets_reconfig_jscore_passthrough_gen
# - name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
# - name: .read_only
# - name: .rollbackfuzzer
- name: sasl
# - name: search
# - name: search_auth
# - name: search_ssl
# - name: session_jscore_passthrough
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
# - name: .sharding .txns
# - name: .sharding .common !.non_live_record
- name: snmp
# - name: .updatefuzzer
- <<: *enterprise-rhel-80-64-bit-dynamic-required-template
name: rhel-80-64-bit-dynamic-visibility-test
display_name: "~ Shared Library RHEL 8.0 (visibility test)"
expansions:
<<: *enterprise-rhel-80-64-bit-dynamic-required-expansions
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic --experimental-visibility-support=on
- name: windows-dynamic-visibility-test
display_name: "~ Shared Library Windows (visibility test)"
expansions:
compile_flags: CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --win-version-min=win10
python: '/cygdrive/c/python/python37/python.exe'
ext: zip
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
tasks:
- name: visibility_test_TG
distros:
- windows-vsCurrent-large
- <<: *macos-debug-template
name: macos-dynamic-visibility-test
display_name: "~ Shared Library macOS DEBUG (visibility test)"
expansions:
<<: *macos-debug-expansions
compile_flags: --ssl --dbg=on --opt=on -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars --link-model=dynamic --experimental-visibility-support=on