Files
mongo/etc/query.yml
Ryan Egesdahl daa41cae38 SERVER-60221 Merge Windows suggested build variants into required
We've fixed many of the reasons building and testing on Windows was
slow, which was the reason we had disabled some of the more expensive
tests on its "required" build variants. The tests that were only in the
"suggested" build variants have been merged into the "required" build
variants.
2021-10-21 22:20:55 +00:00

7172 lines
217 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"
- key: future_git_tag
description: "Future git tag to be added. If empty, we will use the most recent git tag instead."
## 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.
- &gen_task_template
name: gen_task_template
depends_on:
- name: build_variant_gen
- name: archive_dist_test
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --help
- &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
is_jstestfuzz: true
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:
- build_variant_gen
- archive_dist_test
commands:
- func: "generate resmoke 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 UndoDB recordings"
- 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 and add git tag"
- 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
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-vsCurrent-large
- name: build_variant_gen
- 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 and add git tag"
- 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-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-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-required
- 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}
# Get get the mongo repo, no modules. Useful for inspecting the commit history with the
# `git` Python tool.
"git get project no modules":
- *f_expansions_write
- command: git.get_project
params:
directory: ${git_project_directory|src}
"add git tag": &add_git_tag
command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/functions/add_git_tag.sh"
env:
future_git_tag: ${future_git_tag}
"git get project and add git tag":
- *f_expansions_write
- *git_get_project
- *add_git_tag
"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 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}
"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}
"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
- *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
- *add_git_tag
- *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
- *add_git_tag
- *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
- *add_git_tag
- *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
- *add_git_tag
- *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 build variant":
- *f_expansions_write
- *configure_evergreen_api_credentials
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/generate_build_variant.sh"
- "--evg-project-config etc/query.yml"
- 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 resmoke tasks":
- *fetch_artifacts
- *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/gen_tasks_activate.sh"
# 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
- *configure_evergreen_api_credentials
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/implicit_multiversions_tasks_generate.sh"
- *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"
"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"
"update patch failure history":
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/update_patch_failure_history.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"
- 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.tokeep"
- "./*.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: >-
PREFIX=dist-test
- name: determine_patch_tests
commands:
- *f_expansions_write
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "src/evergreen/gen_patch_test_tags.sh"
- 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: >-
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:
- "patch_test_tags.tgz"
- "./build/**.gcno"
- "./etc/*san.suppressions"
- "./etc/backports_required_for_multiversion_tests.yml"
- "./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
# Dummy task to activate `archive_dist_test_debug` since it can't be activated directly (not a generated task).
- name: activate_archive_dist_test_debug
tags: []
depends_on:
- name: archive_dist_test_debug
- 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: >-
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
## 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 ##
- &compile_unittests
name: compile_unittests
depends_on:
- name: compile_dist_test
commands:
- func: "scons compile"
vars:
targets: install-unittests install-unittests-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
## run_unittests with UndoDB live-record ##
- name: run_unittests_with_recording
depends_on:
- name: compile_unittests_for_recorded_unittest
commands:
- *f_expansions_write
- func: "run diskstats"
- func: "f_expansions_write"
- func: "monitor process threads"
- func: "collect system resource info"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/undo_wiki_page.sh"
- command: attach.artifacts
params:
files:
- undo_wiki_page_location.json
- func: "run tests"
vars:
resmoke_args: --suites=unittests
record_with: --recordWith /opt/undodb5/bin/live-record
# Start fewer jobs since there's a constant amount of overhead of starting
# live-record for each job.
resmoke_jobs_factor: 0.3
##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
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
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
--link-model=dynamic
--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
--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=
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=
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
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: timeout.update
params:
# 40 minutes
exec_timeout_secs: 2400
- *f_expansions_write
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
depends_on: []
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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: ["lint"]
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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
- func: "git get project and add git tag"
- *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
- <<: *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", "multiversion"]
commands:
- func: "generate resmoke 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
## initial sync generational fuzzer ##
- <<: *jstestfuzz_template
name: initial_sync_fuzzer_gen
tags: []
commands:
- func: "generate resmoke 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 resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-fuzzer
name: aggregation_multiversion_fuzzer
## Standalone generational fuzzer for multiversion aggregation expressions ##
- <<: *jstestfuzz_template
name: aggregation_expression_multiversion_fuzzer_gen
tags: ["aggfuzzer", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
npm_command: agg-expr-fuzzer
name: aggregation_expression_multiversion_fuzzer
## Standalone generational fuzzer for checking optimized and unoptimized expression equivalence
- <<: *jstestfuzz_template
name: aggregation_expression_optimization_fuzzer_gen
tags: ["aggfuzzer"]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
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 resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
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 resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
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 resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
jstestfuzz_vars: --diffTestingMode timeseries
npm_command: agg-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: aggregation_timeseries_fuzzer
## Standalone generational fuzzer for checking optimized and unoptimized change stream pipelines ##
- <<: *jstestfuzz_template
name: change_stream_optimization_fuzzer_gen
tags: ["change_stream_fuzzer"]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
jstestfuzz_vars: --diffTestingMode optimization
npm_command: change-stream-fuzzer
suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
name: change_stream_optimization_fuzzer
## jstestfuzz standalone fuzzer for checking find and aggregate equivalence ##
- <<: *jstestfuzz_template
name: query_fuzzer_standalone_gen
tags: ["query_fuzzer"]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 10
num_tasks: 10
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 resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
num_files: 5
num_tasks: 5
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 resmoke 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
require_multiversion: true
## jstestfuzz replication update generational fuzzer ##
- <<: *jstestfuzz_template
name: update_fuzzer_replication_gen
tags: ["updatefuzzer", "multiversion"]
commands:
- func: "generate resmoke 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
## rollback multiversion fuzzer ##
- <<: *jstestfuzz_template
name: rollback_multiversion_fuzzer_gen
tags: ["multiversion_fuzzer", "multiversion"]
commands:
- func: "generate resmoke 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
## rollback generational fuzzer ##
- <<: *jstestfuzz_template
name: rollback_fuzzer_gen
tags: ["rollbackfuzzer"]
commands:
- func: "generate resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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_passthrough_gen
tags: ["jstestfuzz_multiversion_passthrough_gen", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
suite: jstestfuzz_replication
npm_command: jstestfuzz
## jstestfuzz initial sync replica set ##
- <<: *jstestfuzz_template
name: jstestfuzz_replication_initsync_gen
tags: ["jstestfuzz", "initsync"]
commands:
- func: "generate resmoke 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 resmoke 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 resmoke 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_passthrough_gen
tags: [jstestfuzz_multiversion_passthrough_gen]
commands:
- func: "generate resmoke tasks"
vars:
<<: *jstestfuzz_config_vars
jstestfuzz_vars: --jsTestsDir ../jstests
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
suite: jstestfuzz_sharded
require_multiversion: true
implicit_multiversion: true
npm_command: jstestfuzz
## jstestfuzz sharded cluster causal consistency ##
- <<: *jstestfuzz_template
name: jstestfuzz_sharded_causal_consistency_gen
tags: ["jstestfuzz", "causal"]
commands:
- func: "generate resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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 resmoke 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.
- <<: *gen_task_template
name: multiversion_sanity_check_passthrough_gen
tags: ["multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: replica_sets_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger --includeWithAnyTags=multiversion_sanity_check
- <<: *gen_task_template
name: replica_sets_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate resmoke tasks"
vars:
suite: replica_sets_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
require_multiversion: true
implicit_multiversion: true
# 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
- func: "git get project and add git tag"
- *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
- func: "git get project and add git tag"
- *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
- <<: *gen_task_template
name: aggregation_secondary_reads_gen
tags: ["aggregation", "secondary_reads"]
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
- <<: *gen_task_template
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
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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: build_variant_gen
commands:
- command: manifest.load
- *git_get_project
- *f_expansions_write
- *add_git_tag
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "generate build variant"
- name: selected_tests_gen
tags: []
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- func: "upload pip requirements"
- func: "generate selected tests"
- <<: *gen_task_template
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
- <<: *gen_task_template
name: change_streams_multiversion_passthrough_gen
tags: ["multiversion_passthrough", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: change_streams
resmoke_args: --storageEngine=wiredTiger
- <<: *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
- <<: *gen_task_template
name: change_streams_sharded_collections_multiversion_passthrough_gen
tags: ["multiversion_passthrough", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: change_streams_sharded_collections_passthrough
resmoke_args: --storageEngine=wiredTiger
- <<: *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
- func: "git get project and add git tag"
- 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
- func: "git get project and add git tag"
- 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
- func: "git get project and add git tag"
- 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
- func: "git get project and add git tag"
- 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
- func: "git get project and add git tag"
- *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
- <<: *gen_task_template
name: sharded_causally_consistent_jscore_txns_passthrough_gen
tags: ["sharding", "jscore", "causally_consistent", "txns"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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_non_generated_replica_sets_jscore_passthrough"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=replica_sets_jscore_passthrough --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_reconfig_jscore_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
name: replica_sets_api_version_jscore_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
fallback_num_sub_suites: 5
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: multiversion_auth_gen
tags: ["auth", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
require_multiversion: true
- <<: *gen_task_template
name: multiversion_gen
tags: ["multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
# Tests the runFeatureFlagMultiversionTest helper.
# This requires the 'featureFlagToaster' and 'featureFlagSpoon' parameters to be set to true on
# build variants that enable this task.
- <<: *gen_task_template
name: feature_flag_multiversion_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
require_multiversion: true
- <<: *gen_task_template
name: unittest_shell_hang_analyzer_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
suite: unittest_shell_hang_analyzer
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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.
- <<: *gen_task_template
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"
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: sharded_collections_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: sharded_collections_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
- <<: *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
- <<: *gen_task_template
name: sharding_jscore_multiversion_passthrough_gen
tags: ["multiversion_passthrough", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: sharding_jscore_passthrough
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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.
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: tenant_migration_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: tenant_migration_stepdown_jscore_passthrough_gen
tags: ["tenant_migration"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: parallel_gen
tags: ["misc_js", "parallel"]
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
- <<: *gen_task_template
name: concurrency_replication_gen
tags: ["concurrency", "common", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *gen_task_template
name: concurrency_replication_multiversion_passthrough_gen
tags: [multiversion_passthrough, "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: concurrency_replication
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
name: concurrency_replication_multi_stmt_txn_gen
tags: ["concurrency", "common", "repl", "txn"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--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
- <<: *gen_task_template
name: concurrency_replication_wiredtiger_cursor_sweeps_gen
tags: ["concurrency", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger"
resmoke_jobs_max: 1
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: concurrency_sharded_replication_multiversion_passthrough_gen
tags: ["multiversion_passthrough", "sharded", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
suite: concurrency_sharded_replication
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_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
- <<: *gen_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
- <<: *gen_task_template
name: concurrency_simultaneous_gen
tags: ["concurrency", "common"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
resmoke_jobs_max: 1
- <<: *gen_task_template
name: concurrency_simultaneous_replication_gen
tags: ["concurrency", "common", "large", "repl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: secondary_reads_passthrough_gen
tags: []
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_gen
tags: ["replica_sets", "san", "large"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_ese_gen
tags: ["replica_sets", "encrypt", "san"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: replica_sets_large_txns_format_gen
tags: ["replica_sets", "multi_oplog", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_max_mirroring_gen
tags: ["replica_sets", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_update_v1_oplog_gen
tags: ["replica_sets", "san"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: replica_sets_multiversion_gen
tags: ["random_multiversion_ds", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
suite: replica_sets_multiversion
- <<: *task_template
name: sasl
tags: []
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --suites=sasl --storageEngine=wiredTiger
- <<: *gen_task_template
name: sharding_gen
tags: ["sharding", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: sharding_multiversion_gen
tags: ["random_multiversion_ds"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
require_multiversion: true
suite: sharding_multiversion
- <<: *gen_task_template
name: sharding_max_mirroring_gen
tags: ["sharding", "common"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
name: sharding_ese_gen
tags: ["sharding", "encrypt"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: sharding_ese_gcm_gen
tags: ["sharding", "encrypt", "gcm"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: sharding_auth_gen
tags: ["sharding", "auth"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
name: sharding_hello_failures_gen
tags: ["concurrency", "large", "sharded"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
use_large_distro: "true"
resmoke_jobs_max: 1
- <<: *gen_task_template
name: sharding_last_lts_mongos_and_mixed_shards_gen
tags: ["sharding", "common", "multiversion"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
- <<: *gen_task_template
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
- <<: *gen_task_template
name: ssl_gen
tags: ["encrypt", "ssl"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {network: 2, replication: {heartbeats: 2}}}'"
- <<: *gen_task_template
name: sslSpecial_gen
tags: ["encrypt", "ssl"]
commands:
- func: "generate resmoke tasks"
vars:
suite: ssl_special
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
name: causally_consistent_jscore_passthrough_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: causally_consistent_jscore_passthrough_auth_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: sharded_causally_consistent_jscore_passthrough_gen
tags: ["causally_consistent"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: retryable_writes_jscore_passthrough_gen
tags: ["retry"]
commands:
- func: "generate resmoke tasks"
vars:
use_large_distro: "true"
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: retryable_writes_downgrade_passthrough_gen
tags: ["multiversion_passthrough"]
commands:
- func: "generate resmoke tasks"
vars:
suite: retryable_writes_downgrade_passthrough
resmoke_args: --storageEngine=wiredTiger
require_multiversion: true
implicit_multiversion: true
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: logical_session_cache_sharding_default_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: logical_session_cache_sharding_100ms_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
- <<: *gen_task_template
name: logical_session_cache_sharding_10sec_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: logical_session_cache_standalone_default_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
name: logical_session_cache_standalone_100ms_refresh_jscore_passthrough_gen
tags: ["logical_session_cache"]
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --storageEngine=wiredTiger
- <<: *gen_task_template
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
- <<: *gen_task_template
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
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_kill_mongod
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_last_lts_fcv
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_replication
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_replication_smalloplog
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_syncdelay
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: powercycle_write_concern_majority
tags: ["powercycle"]
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
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"
timeout_secs: 1800 # 30 minute timeout for no output
- name: idl_tests
tags: []
depends_on:
- name: archive_dist_test
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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
- func: "git get project and add git tag"
- *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
- func: "git get project and add git tag"
- *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: >-
--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 and add git tag"
- 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 and add git tag"
- 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: "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
- func: "git get project and add git tag"
- *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: 21600 # 2 hour timeout for the task overall
depends_on: []
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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
- func: "git get project and add git tag"
- *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/commit_message_validate.sh"
- name: check_for_todos
tags: []
exec_timeout_secs: 600 # 10 minute timeout
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *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
- name: update_patch_failure_history
# Time out the task if it runs for more than 8 hours. Provides buffer for
# when the Evergreen API is busy.
exec_timeout_secs: 28800
commands:
- func: "do non-compile setup"
- *f_expansions_write
- func: "configure evergreen api credentials"
- func: "update patch failure history"
- name: check_feature_flag_tags
tags: []
patch_only: true
commands:
- command: manifest.load
- func: "git get project and add git tag"
- *f_expansions_write
- *kill_processes
- *cleanup_environment
- func: "set up venv"
- command: subprocess.exec
type: test
params:
binary: bash
args:
- "./src/evergreen/feature_flag_tags_check.sh"
#######################################
# 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
- <<: *compile_task_group_template
name: compile_and_test_TG
tasks:
- compile_dist_test
- compile_unittests
- run_unittests
- compile_dbtest
- run_dbtest
- compile_all
# 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
- determine_patch_tests
- 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 and add git tag"
- 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 and add git tag"
- 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 and add git tag"
- 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:
- &enterprise-rhel-80-64-bit-dynamic-classic-engine
name: enterprise-rhel-80-64-bit-dynamic-classic-engine
display_name: "Shared Library Enterprise RHEL 8.0 (Classic Engine)"
batchtime: 480 # 8 hour
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
# refer to line 3113 for configuring number of tasks and files.
has_packages: false
scons_cache_scope: shared
scons_cache_mode: all
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}"
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- rhel80-large
- name: build_variant_gen
- name: .aggfuzzer
- name: .query_fuzzer