mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
12542 lines
408 KiB
YAML
12542 lines
408 KiB
YAML
#####################################################
|
|
# 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).
|
|
|
|
stepback: true
|
|
command_type: system
|
|
pre_error_fails_task: true
|
|
oom_tracker: true
|
|
|
|
|
|
# Files that match an ignore-list pattern will not trigger a build, if they're the only modified
|
|
# files in the patch.
|
|
ignore:
|
|
- ".*"
|
|
- "!.clang-format"
|
|
- "!.eslintrc.yml"
|
|
- "*.md"
|
|
- "*.rst"
|
|
- "*.txt"
|
|
- "/distsrc/**"
|
|
- "/docs/**"
|
|
- "/etc/*.yml"
|
|
- "!/etc/evergreen.yml"
|
|
- "README"
|
|
|
|
## Parameters for parameterized builds (see https://github.com/evergreen-ci/evergreen/wiki/Parameterized-Builds)
|
|
parameters:
|
|
- key: patch_compile_flags
|
|
description: "Additional SCons flags to be applied during scons compile invocations in this patch"
|
|
|
|
## Some variables for convenience:
|
|
variables:
|
|
|
|
# Used when the tests it runs depend only on mongod, mongos, the mongo shell and the tools.
|
|
- &task_template
|
|
name: template
|
|
depends_on:
|
|
- name: archive_dist_test_debug
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --help
|
|
resmoke_jobs_max: 0 # No cap on number of jobs.
|
|
|
|
- &benchmark_template
|
|
name: benchmark_template
|
|
depends_on:
|
|
- name: compile_benchmarks
|
|
commands:
|
|
- func: "do benchmark setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --help
|
|
resmoke_jobs_max: 1
|
|
- func: "send benchmark results"
|
|
|
|
- &jepsen_config_vars
|
|
jepsen_key_time_limit: --key-time-limit 15
|
|
jepsen_protocol_version: --protocol-version 1
|
|
jepsen_read_concern: ""
|
|
jepsen_read_with_find_and_modify: ""
|
|
jepsen_storage_engine: ""
|
|
jepsen_test_name: ""
|
|
# Empirically, we've had greater success in reproducing the issues found in MongoDB versions
|
|
# 3.4.0-rc3 and 3.4.0-rc4 when running Jepsen with at least --time-limit=600.
|
|
jepsen_time_limit: --time-limit 1200
|
|
jepsen_write_concern: ""
|
|
|
|
# Template for running Jepsen tests
|
|
- &run_jepsen_template
|
|
name: run_jepsen_template
|
|
depends_on:
|
|
- name: archive_dist_test_debug
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "do jepsen setup"
|
|
- func: "run jepsen test"
|
|
vars:
|
|
<<: *jepsen_config_vars
|
|
|
|
- &jstestfuzz_config_vars
|
|
num_files: 15
|
|
num_tasks: 5
|
|
resmoke_args: --help # resmoke_args needs to be overridden to specify one of the jstestfuzz suites
|
|
resmoke_jobs_max: 1
|
|
should_shuffle: false
|
|
continue_on_failure: false
|
|
# Terminate the function when there has been no output to stdout for 30 minutes. E.g. when something is stuck in an infinite loop.
|
|
# resmoke.py writes the test output to logkeeper and only writes to stdout when starting the next test.
|
|
# resmoke.py not producing output on stdout means that the test is still running and presumably not going to finish.
|
|
# Note that timeout_secs is different from exec_timeout_secs, which applies to a task and times out regardless of whether output has been written to stdout.
|
|
timeout_secs: 1800
|
|
|
|
# Used for tests that invoke 'resmoke.py --suites=jstestfuzz*'.
|
|
- &jstestfuzz_template
|
|
name: jstestfuzz_template
|
|
exec_timeout_secs: 14400 # Time out the task if it runs for more than 4 hours.
|
|
depends_on: []
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
|
|
# Templates used by powercycle
|
|
- &powercycle_remote_credentials
|
|
private_key_file: $(${posix_workdir})/src/powercycle.pem
|
|
private_key_remote: ${__project_aws_ssh_key_value}
|
|
aws_key_remote: ${powercycle_aws_key}
|
|
aws_secret_remote: ${powercycle_aws_secret}
|
|
|
|
- &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: "apply compile expansions"
|
|
- func: "set task expansion macros"
|
|
teardown_task:
|
|
- func: "attach scons logs"
|
|
- func: "attach report"
|
|
- func: "attach artifacts"
|
|
- func: "kill processes"
|
|
- func: "save code coverage data"
|
|
- func: "save mongo coredumps"
|
|
- func: "save failed unittests"
|
|
- func: "save unstripped dbtest"
|
|
- func: "save hang analyzer debugger files"
|
|
- func: "save disk statistics"
|
|
- func: "save system resource information"
|
|
- func: "save libfuzzertest corpora"
|
|
- func: "remove files"
|
|
vars:
|
|
files: >-
|
|
src/resmoke_error_code
|
|
src/build/scons/config.log
|
|
src/*.gcda.gcov
|
|
src/gcov-intermediate-files.tgz
|
|
src/*.core src/*.mdmp
|
|
mongo-coredumps.tgz
|
|
src/dist-unittests/bin/*
|
|
src/dist-unittests/lib/*
|
|
mongo-unittests.tgz
|
|
src/debugger*.*
|
|
src/mongo-hanganalyzer.tgz
|
|
diskstats.tgz
|
|
system-resource-info.tgz
|
|
${report_file|src/report.json}
|
|
${archive_file|src/archive.json}
|
|
setup_group_can_fail_task: true
|
|
setup_group:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "kill processes"
|
|
- func: "cleanup environment"
|
|
- func: "get all modified patch files"
|
|
- func: "set task expansion macros"
|
|
# The python virtual environment is installed in ${workdir}, which is created in
|
|
# "set up venv".
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "configure evergreen api credentials"
|
|
- func: "get buildnumber"
|
|
- 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"
|
|
teardown_group:
|
|
- func: "umount shared scons directory"
|
|
- func: "cleanup environment"
|
|
timeout:
|
|
- func: "run hang analyzer"
|
|
|
|
# Use this template for enterprise Windows testing coverage on non-pushing
|
|
# variants
|
|
- &enterprise-windows-nopush-template
|
|
name: enterprise-windows-nopush-template
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
modules:
|
|
- enterprise
|
|
expansions: &enterprise-windows-nopush-expansions-template
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi
|
|
exe: ".exe"
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --win-version-min=win10
|
|
num_scons_link_jobs_available: 0.5
|
|
python: '/cygdrive/c/python/python37/python.exe'
|
|
ext: zip
|
|
scons_cache_scope: shared
|
|
multiversion_platform: windows
|
|
multiversion_edition: enterprise
|
|
jstestfuzz_num_generated_files: 35
|
|
large_distro_name: windows-vsCurrent-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: burn_in_tests_gen
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: buildscripts_test
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.aggregation !.gcm
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: external_auth_windows
|
|
distros:
|
|
- windows-64-2016
|
|
- name: .jscore .common !.compat !.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"
|
|
teardown_task:
|
|
- func: "attach scons logs"
|
|
setup_group_can_fail_task: true
|
|
setup_group:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "kill processes"
|
|
- func: "cleanup environment"
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "get buildnumber"
|
|
- func: "set up win mount script"
|
|
- func: "generate compile expansions"
|
|
teardown_group:
|
|
- func: "umount shared scons directory"
|
|
|
|
# List of all variants that make mongocryptd
|
|
# If a variant is listed here and has a push task, mongocryptd is pushed
|
|
- mongocryptd_variants: &mongocryptd_variants
|
|
- enterprise-amazon2
|
|
- enterprise-amazon2-arm64
|
|
- enterprise-debian92-64
|
|
- enterprise-debian10-64
|
|
- enterprise-linux-64-amazon-ami
|
|
- enterprise-macos
|
|
- enterprise-rhel-70-64-bit
|
|
- enterprise-rhel-70-64-bit-kitchen-sink
|
|
- enterprise-rhel-70-64-bit-no-libunwind
|
|
- enterprise-rhel-81-ppc64le
|
|
- enterprise-rhel-72-s390x
|
|
- enterprise-rhel-72-s390x-inmem
|
|
- enterprise-rhel-80-64-bit
|
|
- enterprise-rhel-80-64-bit-coverage
|
|
- enterprise-rhel-80-64-bit-inmem
|
|
- enterprise-rhel-80-64-bit-multiversion
|
|
- enterprise-rhel-80-64-bit-suggested
|
|
- enterprise-rhel-82-arm64
|
|
- enterprise-suse12-64
|
|
- enterprise-suse15-64
|
|
- enterprise-ubuntu1804-64
|
|
- enterprise-ubuntu1804-arm64
|
|
- enterprise-ubuntu2004-arm64
|
|
- enterprise-ubuntu2004-64
|
|
- enterprise-windows
|
|
- enterprise-windows-suggested
|
|
- enterprise-windows-debug-unoptimized
|
|
- enterprise-windows-inmem
|
|
- enterprise-windows-required
|
|
- enterprise-windows-wtdevelop
|
|
- ubuntu1804-debug-asan
|
|
- ubuntu1804-debug-ubsan
|
|
- ubuntu1804-debug-aubsan-lite-required
|
|
- ubuntu1804-debug-aubsan-lite_fuzzer
|
|
|
|
|
|
# List of all variants that make mh artifacts.
|
|
# If a variant is listed here and has a push task, the mh artifacts are pushed
|
|
- mh_variants: &mh_variants
|
|
- enterprise-debian92-64
|
|
- enterprise-macos
|
|
- enterprise-rhel-80-64-bit
|
|
- enterprise-rhel-80-64-bit-dynamic-required
|
|
- enterprise-rhel-70-64-bit
|
|
- enterprise-rhel-82-arm64
|
|
- enterprise-amazon2-arm64
|
|
- enterprise-ubuntu1804-64
|
|
- enterprise-windows
|
|
- enterprise-windows-suggested
|
|
- enterprise-windows-required
|
|
|
|
# List of all variants that use the packages.tgz
|
|
- package_variants: &package_variants
|
|
- amazon
|
|
- enterprise-linux-64-amazon-ami
|
|
- amazon2
|
|
- enterprise-amazon2
|
|
- enterprise-amazon2-arm64
|
|
- debian10
|
|
- enterprise-debian10-64
|
|
- debian92
|
|
- enterprise-debian92-64
|
|
- rhel70
|
|
- rhel76_compile_rhel70
|
|
- enterprise-rhel-70-64-bit
|
|
- rhel-72-s390x
|
|
- enterprise-rhel-81-ppc64le
|
|
- enterprise-rhel-72-s390x
|
|
- ubi8
|
|
- rhel80
|
|
- rhel-82-arm64
|
|
- enterprise-rhel-80-64-bit
|
|
- enterprise-rhel-80-64-bit-coverage
|
|
- enterprise-rhel-80-64-bit-suggested
|
|
- enterprise-rhel-82-arm64
|
|
- suse12
|
|
- enterprise-suse12-64
|
|
- suse15
|
|
- enterprise-suse15-64
|
|
- ubuntu1804-debug-suggested
|
|
- enterprise-ubuntu-dynamic-1804-clang-tidy-required
|
|
- ubuntu1804
|
|
- ubuntu1804-arm64
|
|
- ubuntu2004-arm64
|
|
- ubuntu2004
|
|
- enterprise-ubuntu1804-64
|
|
- enterprise-ubuntu1804-arm64
|
|
- enterprise-ubuntu2004-arm64
|
|
- enterprise-ubuntu2004-64
|
|
- enterprise-windows
|
|
- enterprise-windows-suggested
|
|
- windows
|
|
|
|
|
|
#######################################
|
|
# Functions #
|
|
#######################################
|
|
|
|
functions:
|
|
"remove files": &remove_files
|
|
command: shell.exec
|
|
params:
|
|
shell: bash
|
|
script: |
|
|
if [ -z "${files}" ]; then
|
|
exit 0
|
|
fi
|
|
for file in ${files}
|
|
do
|
|
if [ -f "$file" ]; then
|
|
echo "Removing file $file"
|
|
rm -f $file
|
|
fi
|
|
done
|
|
|
|
"configure evergreen api credentials": &configure_evergreen_api_credentials
|
|
command: shell.exec
|
|
type: test
|
|
params:
|
|
shell: bash
|
|
working_dir: src
|
|
silent: true
|
|
script: |
|
|
# Create the Evergreen API credentials
|
|
cat > .evergreen.yml <<END_OF_CREDS
|
|
api_server_host: https://evergreen.mongodb.com/api
|
|
api_key: "${evergreen_api_key}"
|
|
user: "${evergreen_api_user}"
|
|
END_OF_CREDS
|
|
|
|
"configure selected tests credentials": &configure_selected_tests_credentials
|
|
command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
silent: true
|
|
shell: bash
|
|
script: |
|
|
# Create the Evergreen API credentials
|
|
cat > .selected_tests.yml <<END_OF_CREDS
|
|
url: "https://selected-tests.server-tig.prod.corp.mongodb.com"
|
|
project: "${project}"
|
|
auth_user: "${selected_tests_auth_user}"
|
|
auth_token: "${selected_tests_auth_token}"
|
|
END_OF_CREDS
|
|
|
|
"git get project": &git_get_project
|
|
- command: git.get_project
|
|
params:
|
|
directory: ${git_project_directory|src}
|
|
revisions: # for each module include revision as <module_name> : ${<module_name>_rev}
|
|
enterprise: ${enterprise_rev}
|
|
wtdevelop: ${wtdevelop_rev}
|
|
|
|
"fetch artifacts": &fetch_artifacts
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz
|
|
bucket: mciuploads
|
|
extract_to: src
|
|
|
|
"fetch packages": &fetch_packages
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
|
|
bucket: mciuploads
|
|
extract_to: src
|
|
build_variants: *package_variants
|
|
|
|
"fetch dist tarball": &fetch_dist_tarball
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}.${ext|tgz}
|
|
bucket: mciuploads
|
|
local_file: src/mongo-binaries.tgz
|
|
|
|
"fetch dist debugsymbols": &fetch_dist_debugsymbols
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}-debugsymbols.${ext|tgz}
|
|
bucket: mciuploads
|
|
local_file: src/mongo-debugsymbols.tgz
|
|
|
|
"fetch binaries": &fetch_binaries
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${mongo_binaries}
|
|
bucket: mciuploads
|
|
local_file: src/mongo-binaries.tgz
|
|
|
|
"extract binaries": &extract_binaries
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
${decompress|tar xzvf} mongo-binaries.tgz
|
|
|
|
"check binary version": &check_binary_version
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
mongo_binary=dist-test/bin/mongo${exe}
|
|
${activate_virtualenv}
|
|
bin_ver=$($python -c "import yaml; print(yaml.safe_load(open('compile_expansions.yml'))['version']);" | tr -d '[ \r\n]')
|
|
# Due to SERVER-23810, we cannot use $mongo_binary --quiet --nodb --eval "version();"
|
|
mongo_ver=$($mongo_binary --version | perl -pe '/version v([^\"]*)/; $_ = $1;' | tr -d '[ \r\n]')
|
|
# The versions must match
|
|
if [ "$bin_ver" != "$mongo_ver" ]; then
|
|
echo "The mongo version is $mongo_ver, expected version is $bin_ver"
|
|
exit 1
|
|
fi
|
|
|
|
"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/run_diskstats.sh"
|
|
|
|
"collect system resource info": &collect_system_resource_info
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
background: true
|
|
system_log: true
|
|
shell: bash
|
|
script: |
|
|
${activate_virtualenv}
|
|
$python buildscripts/collect_resource_info.py -o system_resource_info.json -i 5
|
|
|
|
# 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: shell.exec
|
|
params:
|
|
background: true
|
|
system_log: true
|
|
shell: bash
|
|
script: |
|
|
proc_list="(java|lein|mongo|python|_test$|_test\.exe$)"
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
get_pids() {
|
|
proc_pids=$(tasklist /fo:csv |
|
|
awk -F'","' '{x=$1; gsub("\"","",x); print $2, x}' |
|
|
grep -iE $1 |
|
|
cut -f1 -d ' ');
|
|
}
|
|
get_process_info() {
|
|
proc_name="";
|
|
proc_info=$(wmic process where "ProcessId=\"$1\"" get "Name,ProcessId,ThreadCount" /format:csv 2> /dev/null | grep $1);
|
|
if [ ! -z $proc_info ]; then
|
|
proc_name=$(echo $proc_info | cut -f2 -d ',');
|
|
proc_threads=$(echo $proc_info | cut -f4 -d ',');
|
|
fi;
|
|
}
|
|
else
|
|
get_pids() { proc_pids=$(pgrep $1); }
|
|
get_process_info() {
|
|
proc_name=$(ps -p $1 -o comm=);
|
|
# /proc is available on Linux platforms
|
|
if [ -f /proc/$1/status ]; then
|
|
${set_sudo}
|
|
proc_threads=$($sudo grep Threads /proc/$1/status | sed "s/\s//g" | cut -f2 -d ":");
|
|
else
|
|
proc_threads=$(ps -AM $1 | grep -vc PID);
|
|
fi;
|
|
}
|
|
fi
|
|
while [ 1 ]
|
|
do
|
|
get_pids $proc_list
|
|
if [ ! -z "$proc_pids" ]; then
|
|
printf "Running process/thread counter\n"
|
|
printf "PROCESS\tPID\tTHREADS\n"
|
|
fi
|
|
for pid in $proc_pids
|
|
do
|
|
get_process_info $pid
|
|
if [ ! -z "$proc_name" ]; then
|
|
printf "$proc_name\t$pid\t$proc_threads\n"
|
|
fi
|
|
done
|
|
sleep 60
|
|
done
|
|
|
|
"set up credentials": &set_up_credentials
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
silent: true
|
|
shell: bash
|
|
script: |
|
|
cat > mci.buildlogger <<END_OF_CREDS
|
|
slavename='${slave}'
|
|
passwd='${passwd}'
|
|
builder='MCI_${build_variant}'
|
|
build_num=${builder_num}
|
|
build_phase='${task_name}_${execution}'
|
|
END_OF_CREDS
|
|
|
|
"set up win mount script": &set_up_win_mount_script
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
silent: true
|
|
script: |
|
|
cat <<EOF > win_mount.sh
|
|
net use X: '\\\\${win_scons_endpoint}\\share' /USER:"wincache.build.com\${win_scons_user}" '${win_scons_pass}'
|
|
EOF
|
|
chmod +x win_mount.sh
|
|
|
|
"set up notary client credentials": &set_up_notary_client_credentials
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
silent: true
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
cat <<EOF > notary_env.sh
|
|
export NOTARY_TOKEN=${signing_auth_token_50}
|
|
export BARQUE_USERNAME=${barque_user}
|
|
export BARQUE_API_KEY=${barque_api_key}
|
|
EOF
|
|
|
|
echo "${signing_auth_token_50}" > signing_auth_token
|
|
|
|
"set up remote credentials": &set_up_remote_credentials
|
|
command: shell.exec
|
|
params:
|
|
silent: true
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
# Since the macros 'private_key_remote' and 'private_key_file' are not always defined
|
|
# we default to /dev/null to avoid syntax errors of an empty expansion.
|
|
if [ ! -z "${private_key_remote}" ] && [ ! -z "${private_key_file}" ] ; then
|
|
mkdir -p ~/.ssh
|
|
echo -n "${private_key_remote}" > ${private_key_file|/dev/null}
|
|
chmod 0600 ${private_key_file|/dev/null}
|
|
fi
|
|
|
|
# Ensure a clean aws configuration state
|
|
rm -rf ~/.aws
|
|
mkdir -p ~/.aws
|
|
|
|
# If ${aws_profile_remote} is not specified then the config & credentials are
|
|
# stored in the 'default' profile.
|
|
aws_profile="${aws_profile_remote|default}"
|
|
|
|
# The profile in the config file is specified as [profile <profile>], except
|
|
# for [default], see http://boto3.readthedocs.io/en/latest/guide/configuration.html
|
|
if [ $aws_profile = "default" ] ; then
|
|
aws_profile_config="[default]"
|
|
else
|
|
aws_profile_config="[profile $aws_profile]"
|
|
fi
|
|
cat <<EOF >> ~/.aws/config
|
|
$aws_profile_config
|
|
region = us-east-1
|
|
EOF
|
|
|
|
# The profile in the credentials file is specified as [<profile>].
|
|
cat <<EOF >> ~/.aws/credentials
|
|
[$aws_profile]
|
|
aws_access_key_id = ${aws_key_remote}
|
|
aws_secret_access_key = ${aws_secret_remote}
|
|
EOF
|
|
|
|
cat <<EOF > ~/.boto
|
|
[Boto]
|
|
https_validate_certificates = False
|
|
EOF
|
|
|
|
"call BF Suggestion service":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
silent: true
|
|
script: |
|
|
report_file="report.json"
|
|
# Check if the report file exists and has failures.
|
|
if [ -f $report_file ] && grep -Eq "\"failures\": [1-9]" $report_file; then
|
|
# Calling the BF Suggestion server endpoint to start feature extraction.
|
|
payload="{\"task_id\": \"${task_id}\", \"execution\": ${execution}}"
|
|
echo "Sending task info to the BF suggestion service"
|
|
# The --user option is passed through stdin to avoid showing in process list.
|
|
user_option="--user ${bfsuggestion_user}:${bfsuggestion_password}"
|
|
curl --header "Content-Type: application/json" \
|
|
--data "$payload" \
|
|
--max-time 10 \
|
|
--silent \
|
|
--show-error \
|
|
--config - \
|
|
https://bfsuggestion.corp.mongodb.com/tasks <<< $user_option
|
|
echo "Request to BF Suggestion service status: $?"
|
|
fi
|
|
|
|
"upload debugsymbols": &upload_debugsymbols
|
|
command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/mongo-debugsymbols.${ext|tgz}
|
|
remote_file: ${mongo_debugsymbols}
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: ${content_type|application/gzip}
|
|
|
|
"fetch debugsymbols archive": &fetch_debugsymbols_archive
|
|
command: s3.get
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
remote_file: ${mongo_debugsymbols}
|
|
bucket: mciuploads
|
|
local_file: src/mongo-debugsymbols.tgz
|
|
|
|
"use WiredTiger develop":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
if [ "${use_wt_develop|}" = "true" ]; then
|
|
cd src/third_party
|
|
for wtdir in dist examples ext lang src test tools ; do
|
|
rm -rf wiredtiger/$wtdir
|
|
mv wtdevelop/$wtdir wiredtiger/
|
|
done
|
|
fi
|
|
|
|
"shared scons cache pruning":
|
|
command: shell.exec
|
|
type: system
|
|
params:
|
|
shell: bash
|
|
working_dir: src
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
# removes files from the shared scons cache.
|
|
|
|
# Only prune on master branch
|
|
if [[ "${project}" == "mongodb-mongo-master" ]]; then
|
|
|
|
|
|
set +o errexit
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
./win_mount.sh
|
|
else
|
|
mount | grep "\/efs" > /dev/null
|
|
fi
|
|
if [ $? -eq 0 ]; then
|
|
echo "Shared cache is already mounted"
|
|
else
|
|
echo "Shared cache - mounting file system"
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
./win_mount.sh
|
|
else
|
|
sudo mount /efs
|
|
fi
|
|
fi
|
|
set -o errexit
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
cache_folder=/cygdrive/x
|
|
else
|
|
cache_folder=/efs
|
|
fi
|
|
dirs=$(ls -l $cache_folder | grep -v total | awk '{print $NF}')
|
|
|
|
echo "Pruning shared SCons directories"
|
|
|
|
for dir in $dirs; do
|
|
echo "Pruning $cache_folder/$dir/scons-cache"
|
|
|
|
if [ -e $cache_folder/$dir/info/distro_name ]; then
|
|
distro=$(cat $cache_folder/$dir/info/distro_name)
|
|
fi
|
|
|
|
# Set cache sizes by distro
|
|
case $distro in
|
|
ubuntu1604|ubuntu1804|rhel62|rhel70)
|
|
cache_size=600
|
|
;;
|
|
*)
|
|
# default
|
|
cache_size=400
|
|
;;
|
|
esac
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
echo "dir="$dir
|
|
python buildscripts/scons_cache_prune.py --cache-dir x:/$dir/scons-cache --cache-size $cache_size --prune-ratio 1.0
|
|
else
|
|
sudo python buildscripts/scons_cache_prune.py --cache-dir /efs/$dir/scons-cache --cache-size $cache_size --prune-ratio 1.0
|
|
fi
|
|
echo ""
|
|
done
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
net use X: /delete || true
|
|
else
|
|
sudo umount /efs || true
|
|
fi
|
|
|
|
else
|
|
echo "Not on master, shared SCons cache pruning skipped"
|
|
fi
|
|
|
|
"umount shared scons directory":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
if [ "${disable_shared_scons_cache}" = true ]; then
|
|
exit
|
|
fi
|
|
if [ "${scons_cache_scope}" = "shared" ]; then
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
net use X: /delete || true
|
|
else
|
|
${set_sudo}
|
|
$sudo umount /efs || true
|
|
fi
|
|
fi
|
|
|
|
"get all modified patch files":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
# For patch builds gather the modified patch files.
|
|
if [ "${is_patch}" = "true" ]; then
|
|
# Get list of patched files
|
|
git diff HEAD --name-only >> patch_files.txt
|
|
if [ -d src/mongo/db/modules/enterprise ]; then
|
|
pushd src/mongo/db/modules/enterprise
|
|
# Update the patch_files.txt in the mongo repo.
|
|
git diff HEAD --name-only >> ~1/patch_files.txt
|
|
popd
|
|
fi
|
|
fi
|
|
|
|
# This function should only be called from patch-build-only tasks.
|
|
"get added and modified patch files":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
git diff HEAD --name-only --line-prefix="${workdir}/src/" --diff-filter=d >> modified_and_created_patch_files.txt
|
|
if [ -d src/mongo/db/modules/enterprise ]; then
|
|
pushd src/mongo/db/modules/enterprise
|
|
git diff HEAD --name-only --line-prefix="${workdir}/src/src/mongo/db/modules/enterprise/" --diff-filter=d >> ~1/modified_and_created_patch_files.txt
|
|
popd
|
|
fi
|
|
|
|
"determine resmoke jobs": &determine_resmoke_jobs
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_resmoke_job_count.py \
|
|
--taskName ${task_name} \
|
|
--buildVariant ${build_variant} \
|
|
--distro ${distro_id} \
|
|
--jobFactor ${resmoke_jobs_factor|1} \
|
|
--jobsMax ${resmoke_jobs_max|0} \
|
|
--outFile resmoke_jobs_expansion.yml
|
|
|
|
"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: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_task_timeout.py \
|
|
--task-name ${task_name} \
|
|
--build-variant ${build_variant} \
|
|
--evg-alias '${alias|}' \
|
|
--timeout ${timeout_secs|0} \
|
|
--exec-timeout ${exec_timeout_secs|0} \
|
|
--out-file task_timeout_expansions.yml
|
|
|
|
"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: ${timeout_secs}
|
|
|
|
### Set expansion macros used in each task.
|
|
### Note that this function will override task expansions set in update_bypass_expansions
|
|
"set task expansion macros": &set_task_expansion_macros
|
|
command: expansions.update
|
|
params:
|
|
updates:
|
|
- key: activate_virtualenv
|
|
value: |
|
|
# check if virtualenv is set up
|
|
if [ -d "${workdir}/venv" ]; then
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
# Need to quote the path on Windows to preserve the separator.
|
|
. "${workdir}/venv/Scripts/activate" 2> /tmp/activate_error.log
|
|
else
|
|
. ${workdir}/venv/bin/activate 2> /tmp/activate_error.log
|
|
fi
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failed to activate virtualenv: $(cat /tmp/activate_error.log)"
|
|
fi
|
|
python=python
|
|
else
|
|
python=${python|/opt/mongodbtoolchain/v3/bin/python3}
|
|
fi
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
export PYTHONPATH="$PYTHONPATH;$(cygpath -w ${workdir}/src)"
|
|
else
|
|
export PYTHONPATH="$PYTHONPATH:${workdir}/src"
|
|
fi
|
|
|
|
echo "python set to $(which $python)"
|
|
- key: add_nodejs_to_path
|
|
value: |
|
|
# Add node and npm binaries to PATH
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
# An "npm" directory might not have been created in %APPDATA% by the Windows installer.
|
|
# Work around the issue by specifying a different %APPDATA% path.
|
|
# See: https://github.com/nodejs/node-v0.x-archive/issues/8141
|
|
export APPDATA=${workdir}/npm-app-data
|
|
export PATH="$PATH:/cygdrive/c/Program Files (x86)/nodejs" # Windows location
|
|
# TODO: this is to work around BUILD-8652
|
|
cd "$(pwd -P | sed 's,cygdrive/c/,cygdrive/z/,')"
|
|
else
|
|
export PATH="$PATH:/opt/node/bin"
|
|
fi
|
|
- key: posix_workdir
|
|
value: eval 'if [ "Windows_NT" = "$OS" ]; then echo $(cygpath -u "${workdir}"); else echo ${workdir}; fi'
|
|
- key: set_sudo
|
|
value: |
|
|
set -o > /tmp/settings.log
|
|
set +o errexit
|
|
grep errexit /tmp/settings.log | grep on
|
|
errexit_on=$?
|
|
# Set errexit "off".
|
|
set +o errexit
|
|
sudo=
|
|
# Use sudo, if it is supported.
|
|
sudo date > /dev/null 2>&1
|
|
if [ $? -eq 0 ]; then
|
|
sudo=sudo
|
|
fi
|
|
# Set errexit "on", if previously enabled.
|
|
if [ $errexit_on -eq 0 ]; then
|
|
set -o errexit
|
|
fi
|
|
- 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: shell.exec
|
|
params:
|
|
shell: bash
|
|
script: |
|
|
# exit immediately if virtualenv is not found
|
|
set -o errexit
|
|
|
|
python_loc=$(which ${python|/opt/mongodbtoolchain/v3/bin/python3})
|
|
venv_dir="${workdir}/venv"
|
|
"$python_loc" -m venv "$venv_dir"
|
|
|
|
# venv creates its Scripts/activate file with CLRF endings, which
|
|
# cygwin bash does not like. dos2unix it
|
|
# (See https://bugs.python.org/issue32451)
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
dos2unix "${workdir}/venv/Scripts/activate"
|
|
fi
|
|
|
|
export VIRTUAL_ENV_DISABLE_PROMPT=yes
|
|
|
|
# Not all git get project calls clone into ${workdir}/src so we allow
|
|
# callers to tell us where the pip requirements files are.
|
|
pip_dir="${pip_dir}"
|
|
if [[ -z $pip_dir ]]; then
|
|
# Default to most common location
|
|
pip_dir="${workdir}/src/etc/pip"
|
|
fi
|
|
|
|
# Same as above we have to use quotes to preserve the
|
|
# Windows path separator
|
|
toolchain_txt="$pip_dir/toolchain-requirements.txt"
|
|
${activate_virtualenv}
|
|
echo "Upgrading pip to 21.0.1"
|
|
python -m pip install "pip==21.0.1"
|
|
python -m pip install -r "$toolchain_txt" -q
|
|
python -m pip freeze > pip-requirements.txt
|
|
|
|
"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
|
|
|
|
"do setup":
|
|
- *set_task_expansion_macros
|
|
- *fetch_artifacts
|
|
- *fetch_binaries
|
|
- *fetch_debugsymbols_archive
|
|
- *extract_binaries
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *check_binary_version
|
|
- *get_buildnumber
|
|
- *set_up_credentials
|
|
- *run_diskstats
|
|
- *monitor_process_threads
|
|
- *collect_system_resource_info
|
|
|
|
"do non-compile setup":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *get_buildnumber
|
|
- *set_up_credentials
|
|
|
|
"do benchmark setup":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *get_buildnumber
|
|
- *set_up_credentials
|
|
- *fetch_benchmarks
|
|
|
|
"do multiversion setup": &do_multiversion_setup
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
|
|
rm -rf /data/install /data/multiversion
|
|
|
|
edition="${multiversion_edition|base}"
|
|
platform="${multiversion_platform|linux_x86_64}"
|
|
architecture="${multiversion_architecture|x86_64}"
|
|
|
|
$python buildscripts/resmoke.py setup-multiversion \
|
|
--installDir /data/install \
|
|
--linkDir /data/multiversion \
|
|
--edition $edition \
|
|
--platform $platform \
|
|
--architecture $architecture \
|
|
--githubOauthToken "${github_token}" \
|
|
--useLatest 3.6 4.0
|
|
|
|
# The platform and architecture for how some of the binaries are reported in
|
|
# https://downloads.mongodb.org/full.json changed between MongoDB 4.0 and MongoDB 4.2.
|
|
# Certain build variants define additional multiversion_*_42_or_later expansions in order to
|
|
# be able to fetch a complete set of versions.
|
|
|
|
if [ ! -z "${multiversion_edition_42_or_later}" ]; then
|
|
edition="${multiversion_edition_42_or_later}"
|
|
fi
|
|
|
|
if [ ! -z "${multiversion_platform_42_or_later}" ]; then
|
|
platform="${multiversion_platform_42_or_later}"
|
|
fi
|
|
|
|
if [ ! -z "${multiversion_architecture_42_or_later}" ]; then
|
|
architecture="${multiversion_architecture_42_or_later}"
|
|
fi
|
|
|
|
$python buildscripts/resmoke.py setup-multiversion \
|
|
--installDir /data/install \
|
|
--linkDir /data/multiversion \
|
|
--edition $edition \
|
|
--platform $platform \
|
|
--architecture $architecture \
|
|
--githubOauthToken "${github_token}" \
|
|
--useLatest 4.2 4.2.1
|
|
|
|
# The platform and architecture for how some of the binaries are reported in
|
|
# https://downloads.mongodb.org/full.json changed between MongoDB 4.2 and MongoDB 4.4.
|
|
# Certain build variants define additional multiversion_*_44_or_later expansions in order to
|
|
# be able to fetch a complete set of versions.
|
|
|
|
if [ ! -z "${multiversion_edition_44_or_later}" ]; then
|
|
edition="${multiversion_edition_44_or_later}"
|
|
fi
|
|
|
|
if [ ! -z "${multiversion_platform_44_or_later}" ]; then
|
|
platform="${multiversion_platform_44_or_later}"
|
|
fi
|
|
|
|
if [ ! -z "${multiversion_architecture_44_or_later}" ]; then
|
|
architecture="${multiversion_architecture_44_or_later}"
|
|
fi
|
|
|
|
$python buildscripts/resmoke.py setup-multiversion \
|
|
--installDir /data/install \
|
|
--linkDir /data/multiversion \
|
|
--edition $edition \
|
|
--platform $platform \
|
|
--architecture $architecture \
|
|
--githubOauthToken "${github_token}" \
|
|
--useLatest 4.4 4.7 4.8 4.9
|
|
|
|
# This is primarily for tests for infrastructure which don't always need the latest
|
|
# binaries.
|
|
if [ ! -z "${install_master_bin}" ]; then
|
|
$python buildscripts/resmoke.py setup-multiversion \
|
|
--installDir /data/install \
|
|
--linkDir /data/multiversion \
|
|
--edition $edition \
|
|
--platform $platform \
|
|
--architecture $architecture \
|
|
--githubOauthToken "${github_token}" \
|
|
--useLatest master
|
|
fi
|
|
|
|
"move multiversion binaries": &move_multiversion_binaries
|
|
command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/move_multiversion_binaries.sh"
|
|
|
|
"execute resmoke tests": &execute_resmoke_tests
|
|
command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
# Export these before verbose is set to avoid sharing sensitive info.
|
|
export CEDAR_USERNAME=${cedar_user}
|
|
export CEDAR_API_KEY=${cedar_api_key}
|
|
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
if [[ ${disable_unit_tests|false} = "false" && ! -f ${skip_tests|/dev/null} ]]; then
|
|
|
|
# activate the virtualenv if it has been set up
|
|
${activate_virtualenv}
|
|
|
|
# on *SAN builds, extract the debug symbols so they're available
|
|
# to the symbolizer
|
|
if [[ -n "${san_options}" ]]; then
|
|
# the debug symbols archive isn't always available (not every *SAN
|
|
# task requires compile)
|
|
if [[ -f "mongo-debugsymbols.tgz" ]]; then
|
|
tar xf mongo-debugsymbols.tgz
|
|
else
|
|
echo "mongo-debugsymbols.tgz is not available. If you're seeing this message in a task that uses mongod or mongos binaries, please ensure debug symbols have been generated, otherwise the llvm-symbolizer may not correctly symbolize the sanitizer output."
|
|
fi
|
|
fi
|
|
|
|
|
|
# Set the TMPDIR environment variable to be a directory in the task's working
|
|
# directory so that temporary files created by processes spawned by resmoke.py get
|
|
# cleaned up after the task completes. This also ensures the spawned processes
|
|
# aren't impacted by limited space in the mount point for the /tmp directory.
|
|
export TMPDIR="${workdir}/tmp"
|
|
mkdir -p $TMPDIR
|
|
|
|
if [ -f /proc/self/coredump_filter ]; then
|
|
# Set the shell process (and its children processes) to dump ELF headers (bit 4),
|
|
# anonymous shared mappings (bit 1), and anonymous private mappings (bit 0).
|
|
echo 0x13 > /proc/self/coredump_filter
|
|
|
|
if [ -f /sbin/sysctl ]; then
|
|
# Check that the core pattern is set explicitly on our distro image instead
|
|
# of being the OS's default value. This ensures that coredump names are consistent
|
|
# across distros and can be picked up by Evergreen.
|
|
core_pattern=$(/sbin/sysctl -n "kernel.core_pattern")
|
|
if [ "$core_pattern" = "dump_%e.%p.core" ]; then
|
|
echo "Enabling coredumps"
|
|
ulimit -c unlimited
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ $(uname -s) == "Darwin" ]; then
|
|
core_pattern_mac=$(/usr/sbin/sysctl -n "kern.corefile")
|
|
if [ "$core_pattern_mac" = "dump_%N.%P.core" ]; then
|
|
echo "Enabling coredumps"
|
|
ulimit -c unlimited
|
|
fi
|
|
fi
|
|
|
|
extra_args="$extra_args --jobs=${resmoke_jobs|1}"
|
|
|
|
if [ ${should_shuffle|true} = true ]; then
|
|
extra_args="$extra_args --shuffle"
|
|
fi
|
|
|
|
if [ ${continue_on_failure|true} = true ]; then
|
|
extra_args="$extra_args --continueOnFailure"
|
|
fi
|
|
|
|
# We reduce the storage engine's cache size to reduce the likelihood of a mongod process
|
|
# being killed by the OOM killer. The --storageEngineCacheSizeGB command line option is only
|
|
# filled in with a default value here if one hasn't already been specified in the task's
|
|
# definition or build variant's definition.
|
|
set +o errexit
|
|
echo "${resmoke_args} ${test_flags}" | grep -q storageEngineCacheSizeGB
|
|
if [ $? -eq 1 ]; then
|
|
echo "${resmoke_args} ${test_flags}" | grep -q "\-\-storageEngine=inMemory"
|
|
if [ $? -eq 0 ]; then
|
|
# We use a default of 4GB for the InMemory storage engine.
|
|
extra_args="$extra_args --storageEngineCacheSizeGB=4"
|
|
else
|
|
# We use a default of 1GB for all other storage engines.
|
|
extra_args="$extra_args --storageEngineCacheSizeGB=1"
|
|
fi
|
|
fi
|
|
set -o errexit
|
|
|
|
|
|
# Reduce the JSHeapLimit for the serial_run task task on Code Coverage builder variant.
|
|
if [[ "${build_variant}" = "enterprise-rhel-80-64-bit-coverage" && "${task_name}" = "serial_run" ]]; then
|
|
extra_args="$extra_args --mongodSetParameter {'jsHeapLimitMB':10}"
|
|
fi
|
|
|
|
path_value="$PATH"
|
|
if [ ${variant_path_suffix} ]; then
|
|
path_value="$path_value:${variant_path_suffix}"
|
|
fi
|
|
if [ ${task_path_suffix} ]; then
|
|
path_value="$path_value:${task_path_suffix}"
|
|
fi
|
|
|
|
# The "resmoke_wrapper" expansion is used by the 'burn_in_tests' task to wrap the resmoke.py
|
|
# invocation. It doesn't set any environment variables and should therefore come last in
|
|
# this list of expansions.
|
|
set +o errexit
|
|
PATH="$path_value" \
|
|
AWS_PROFILE=${aws_profile_remote} \
|
|
${gcov_environment} \
|
|
${lang_environment} \
|
|
${san_options} \
|
|
${snmp_config_path} \
|
|
${resmoke_wrapper} \
|
|
$python buildscripts/resmoke.py run \
|
|
${record_with} \
|
|
${resmoke_args} \
|
|
$extra_args \
|
|
${test_flags} \
|
|
--log=buildlogger \
|
|
--staggerJobs=on \
|
|
--installDir=${install_dir|dist-test/bin} \
|
|
--buildId=${build_id} \
|
|
--distroId=${distro_id} \
|
|
--executionNumber=${execution} \
|
|
--projectName=${project} \
|
|
--gitRevision=${revision} \
|
|
--revisionOrderId=${revision_order_id} \
|
|
--taskId=${task_id} \
|
|
--taskName=${task_name} \
|
|
--variantName=${build_variant} \
|
|
--versionId=${version_id} \
|
|
--reportFile=report.json \
|
|
--perfReportFile=perf.json
|
|
resmoke_exit_code=$?
|
|
set -o errexit
|
|
|
|
if [[ -n "${record_with}" ]]; then
|
|
recording_size=$(du -ch *.undo | grep total)
|
|
echo "UndoDB produced recordings that were $recording_size (uncompressed) on disk"
|
|
if [[ $resmoke_exit_code = 0 ]]; then
|
|
echo "Resmoke exited successfully. UndoDB recordings will not be saved."
|
|
rm *.undo || true
|
|
fi
|
|
fi
|
|
|
|
# 74 is exit code for IOError on POSIX systems, which is raised when the machine is
|
|
# shutting down.
|
|
#
|
|
# 75 is exit code resmoke.py uses when the log output would be incomplete due to failing
|
|
# to communicate with logkeeper.
|
|
if [[ $resmoke_exit_code = 74 || $resmoke_exit_code = 75 ]]; then
|
|
echo $resmoke_exit_code > run_tests_infrastructure_failure
|
|
exit 0
|
|
elif [ $resmoke_exit_code != 0 ]; then
|
|
# On failure save the resmoke exit code.
|
|
echo $resmoke_exit_code > resmoke_error_code
|
|
elif [ $resmoke_exit_code = 0 ]; then
|
|
# On success delete core files.
|
|
core_files=$(/usr/bin/find -H .. \( -name "*.core" -o -name "*.mdmp" \) 2> /dev/null)
|
|
rm -rf $core_files
|
|
fi
|
|
exit $resmoke_exit_code
|
|
fi # end if [[ ${disable_unit_tests} && ! -f ${skip_tests|/dev/null} ]]
|
|
|
|
"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}/${build_variant}/${revision}/generate_tasks/${task}_gen-${build_id}.tgz
|
|
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":
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
- *configure_evergreen_api_credentials
|
|
- *configure_selected_tests_credentials
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
# Only run on master branch
|
|
if [ "${project}" == "mongodb-mongo-master" -a "${is_patch}" == "true" ]; then
|
|
${activate_virtualenv}
|
|
PATH=$PATH:$HOME $python buildscripts/selected_tests.py --expansion-file expansions.yml --selected-tests-config .selected_tests.yml
|
|
fi
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: generate_tasks_config.tgz
|
|
source_dir: src/selected_tests_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/selected_tests_config/*.json
|
|
|
|
"generate burn in tags":
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
- *configure_evergreen_api_credentials
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
|
|
# Multiversion exclusions can be used when selecting tests.
|
|
$python buildscripts/evergreen_gen_multiversion_tests.py generate-exclude-tags --task-path-suffix=/data/multiversion --output=multiversion_exclude_tags.yml
|
|
|
|
PATH=$PATH:$HOME $python buildscripts/burn_in_tags.py --expansion-file expansions.yml
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: burn_in_tags_gen.tgz
|
|
source_dir: src/generated_burn_in_tags_config
|
|
include:
|
|
- "*"
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: burn_in_tags_gen.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/burn_in_tags_gen/burn_in_tags_gen-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Burn_in_tags Task Config - Execution ${execution}
|
|
- command: generate.tasks
|
|
params:
|
|
files:
|
|
- src/generated_burn_in_tags_config/burn_in_tags_gen.json
|
|
|
|
"generate randomized multiversion tasks":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *configure_evergreen_api_credentials
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_generate_resmoke_tasks.py --expansion-file expansions.yml --verbose
|
|
- *do_multiversion_setup
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_gen_multiversion_tests.py generate-exclude-tags --task-path-suffix=${use_multiversion}
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: generate_tasks_config.tgz
|
|
source_dir: src/generated_resmoke_config
|
|
optional: true
|
|
include:
|
|
- "*"
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: generate_tasks_config.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Generated Task Config - Execution ${execution}
|
|
optional: true
|
|
|
|
- command: timeout.update
|
|
params:
|
|
exec_timeout_secs: 10800 # 3 hours
|
|
timeout_secs: 10800 # 3 hours
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
optional: true
|
|
files:
|
|
- src/generated_resmoke_config/*.json
|
|
|
|
"generate resmoke tasks":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *configure_evergreen_api_credentials
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_generate_resmoke_tasks.py --expansion-file expansions.yml --verbose
|
|
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: generate_tasks_config.tgz
|
|
source_dir: src/generated_resmoke_config
|
|
include:
|
|
- "*"
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: generate_tasks_config.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Generated Task Config - Execution ${execution}
|
|
optional: true
|
|
|
|
- command: timeout.update
|
|
params:
|
|
exec_timeout_secs: 10800 # 3 hours
|
|
timeout_secs: 10800 # 3 hours
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
optional: true
|
|
files:
|
|
- src/generated_resmoke_config/*.json
|
|
|
|
# Used by generator
|
|
"run generated tests":
|
|
- *retrieve_generated_test_configuration
|
|
- *extract_generated_test_configuration
|
|
- 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}
|
|
- *set_up_remote_credentials
|
|
- *determine_resmoke_jobs
|
|
- *update_resmoke_jobs_expansions
|
|
- *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":
|
|
- *determine_task_timeout
|
|
- *update_task_timeout_expansions
|
|
- *update_task_timeout
|
|
- 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}
|
|
- *set_up_remote_credentials
|
|
- *determine_resmoke_jobs
|
|
- *update_resmoke_jobs_expansions
|
|
- *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":
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/scons_lint.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
"scons compile":
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/scons_compile.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
patch_compile_flags: ${patch_compile_flags}
|
|
|
|
"generate compile expansions":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
# We get the raw version string (r1.2.3-45-gabcdef) from git
|
|
MONGO_VERSION=$(git describe --abbrev=7)
|
|
# If this is a patch build, we add the patch version id to the version string so we know
|
|
# this build was a patch, and which evergreen task it came from
|
|
if [ "${is_patch}" = "true" ]; then
|
|
MONGO_VERSION="$MONGO_VERSION-patch-${version_id}"
|
|
fi
|
|
|
|
echo "MONGO_VERSION = ${MONGO_VERSION}"
|
|
|
|
${activate_virtualenv}
|
|
|
|
# shared scons cache testing
|
|
# if 'scons_cache_scope' enabled and project level 'disable_shared_scons_cache' is not true
|
|
# 'scons_cache_scope' is set on a per variant basis
|
|
# 'disable_shared_scons_cache' is set on a project level and applies to all variants
|
|
|
|
# Shared - if scons_cache_scope is set, then use new shared scons cache settings
|
|
if [ ! -z ${scons_cache_scope} ]; then
|
|
|
|
if [ "${disable_shared_scons_cache}" = "true" ]; then
|
|
|
|
echo "SCons Cache disabled. All shared scons settings will be ignored"
|
|
scons_cache_scope=none
|
|
|
|
else
|
|
scons_cache_scope=${scons_cache_scope}
|
|
fi
|
|
|
|
if [ "$scons_cache_scope" = "shared" ]; then
|
|
set +o errexit
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
./win_mount.sh
|
|
else
|
|
mount | grep "\/efs" > /dev/null
|
|
if [ $? -eq 0 ]; then
|
|
echo "Shared cache is already mounted"
|
|
else
|
|
echo "Shared cache - mounting file system"
|
|
${set_sudo}
|
|
$sudo mount /efs
|
|
fi
|
|
fi
|
|
set -o errexit
|
|
fi
|
|
|
|
echo "Shared Cache with setting: ${scons_cache_scope}"
|
|
MONGO_VERSION=$MONGO_VERSION SCONS_CACHE_MODE=${scons_cache_mode|nolinked} SCONS_CACHE_SCOPE=$scons_cache_scope IS_PATCH=${is_patch} IS_COMMIT_QUEUE=${is_commit_queue|false} $python buildscripts/generate_compile_expansions_shared_cache.py --out compile_expansions.yml
|
|
|
|
# Legacy Expansion generation
|
|
else
|
|
echo "Using legacy expansion generation"
|
|
# Proceed with regular expansions generated
|
|
# This script converts the generated version string into a sanitized version string for
|
|
# use by scons and uploading artifacts as well as information about for the scons cache.
|
|
MONGO_VERSION=$MONGO_VERSION SCONS_CACHE_MODE=${scons_cache_mode|nolinked} USE_SCONS_CACHE=${use_scons_cache|false} $python buildscripts/generate_compile_expansions.py --out compile_expansions.yml
|
|
fi
|
|
|
|
"apply compile expansions":
|
|
command: expansions.update
|
|
params:
|
|
file: src/compile_expansions.yml
|
|
|
|
"do jepsen setup":
|
|
- 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: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
${activate_virtualenv}
|
|
$python -c 'import socket; num_nodes = 5; print("\n".join(["%s:%d" % (socket.gethostname(), port) for port in range(20000, 20000 + num_nodes)]))' > nodes.txt
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/do_jepsen_setup/move_binaries.sh"
|
|
|
|
"run jepsen test":
|
|
- command: shell.exec
|
|
type: test
|
|
timeout_secs: 2700 # Timeout test if there is no output for more than 45 minutes.
|
|
params:
|
|
working_dir: src/jepsen-mongodb
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
|
|
# Set the TMPDIR environment variable to be a directory in the task's working
|
|
# directory so that temporary files created by processes spawned by jepsen get
|
|
# cleaned up after the task completes. This also ensures the spawned processes
|
|
# aren't impacted by limited space in the mount point for the /tmp directory.
|
|
# We also need to set the _JAVA_OPTIONS environment variable so that lein will
|
|
# recognize this as the default temp directory.
|
|
export TMPDIR="${workdir}/tmp"
|
|
mkdir -p $TMPDIR
|
|
export _JAVA_OPTIONS=-Djava.io.tmpdir=$TMPDIR
|
|
|
|
start_time=$(date +%s)
|
|
lein run test --test ${jepsen_test_name} \
|
|
--mongodb-dir ../ \
|
|
--working-dir ${workdir}/src/jepsen-workdir \
|
|
--clock-skew faketime \
|
|
--libfaketime-path ${workdir}/src/libfaketime/build/libfaketime.so.1 \
|
|
--mongod-conf mongod_verbose.conf \
|
|
--virtualization none \
|
|
--nodes-file ../nodes.txt \
|
|
${jepsen_key_time_limit} \
|
|
${jepsen_protocol_version} \
|
|
${jepsen_read_concern} \
|
|
${jepsen_read_with_find_and_modify} \
|
|
${jepsen_storage_engine} \
|
|
${jepsen_time_limit} \
|
|
${jepsen_write_concern} \
|
|
2>&1 \
|
|
| tee jepsen_${task_name}_${execution}.log
|
|
end_time=$(date +%s)
|
|
elapsed_secs=$((end_time-start_time))
|
|
# Since we cannot use PIPESTATUS to get the exit code from the "lein run ..." pipe in dash shell,
|
|
# we will check the output for success, failure or setup error. Note that 'grep' returns with exit code
|
|
# 0 if it finds a match, and exit code 1 if no match is found.
|
|
grep -q "Everything looks good" jepsen_${task_name}_${execution}.log
|
|
grep_exit_code=$?
|
|
if [ $grep_exit_code -eq 0 ]; then
|
|
status='"pass"'
|
|
failures=0
|
|
final_exit_code=0
|
|
else
|
|
grep -q "Analysis invalid" jepsen_${task_name}_${execution}.log
|
|
grep_exit_code=$?
|
|
if [ $grep_exit_code -eq 0 ]; then
|
|
status='"fail"'
|
|
failures=1
|
|
final_exit_code=1
|
|
else
|
|
# If the failure is due to setup, then this is considered a system failure.
|
|
echo $grep_exit_code > jepsen_system_failure_${task_name}_${execution}
|
|
exit 0
|
|
fi
|
|
fi
|
|
# Create report.json
|
|
echo "{\"failures\": $failures, \"results\": [{\"status\": $status, \"exit_code\": $final_exit_code, \"test_file\": \"${task_name}\", \"start\": $start_time, \"end\": $end_time, \"elapsed\": $elapsed_secs}]}" > ../report.json
|
|
exit $final_exit_code
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src/jepsen-mongodb
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
# Jepsen system failure if file exists.
|
|
if [ -f jepsen_system_failure_${task_name}_${execution} ]; then
|
|
exit $(cat jepsen_system_failure_${task_name}_${execution})
|
|
fi
|
|
|
|
"load aws test credentials":
|
|
- command: shell.exec
|
|
params:
|
|
silent: true
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
echo "const AWS_KMS_SECRET_ID = '${aws_kms_access_key_id}';" >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
echo "const AWS_KMS_SECRET_KEY = '${aws_kms_secret_access_key}';" >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
|
|
echo "const KMS_GCP_EMAIL = '${kms_gcp_email}'; " >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
echo "const KMS_GCP_PRIVATEKEY = '${kms_gcp_privatekey}'; " >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
|
|
echo "const KMS_AZURE_TENANT_ID = '${kms_azure_tenant_id}';" >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
echo "const KMS_AZURE_CLIENT_ID = '${kms_azure_client_id}';" >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
echo "const KMS_AZURE_CLIENT_SECRET = '${kms_azure_client_secret}';" >> src/mongo/db/modules/enterprise/jstests/fle/lib/aws_secrets.js
|
|
|
|
|
|
"generate explicit multiversion tasks":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
- *configure_evergreen_api_credentials
|
|
- *do_multiversion_setup
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_generate_resmoke_tasks.py --expansion-file expansions.yml --verbose
|
|
$python buildscripts/evergreen_gen_multiversion_tests.py generate-exclude-tags --task-path-suffix=${use_multiversion}
|
|
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: generate_tasks_config.tgz
|
|
source_dir: src/generated_resmoke_config
|
|
include:
|
|
- "*"
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: generate_tasks_config.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Generated Task Config - Execution ${execution}
|
|
optional: true
|
|
|
|
- command: timeout.update
|
|
params:
|
|
exec_timeout_secs: 10800 # 3 hours
|
|
timeout_secs: 10800 # 3 hours
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
optional: true
|
|
files:
|
|
- src/generated_resmoke_config/*.json
|
|
|
|
"generate implicit multiversion tasks":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *configure_evergreen_api_credentials
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
- *do_multiversion_setup
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_gen_multiversion_tests.py run --expansion-file expansions.yml
|
|
$python buildscripts/evergreen_gen_multiversion_tests.py generate-exclude-tags --task-path-suffix=${task_path_suffix}
|
|
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: generate_tasks_config.tgz
|
|
source_dir: src/generated_resmoke_config
|
|
include:
|
|
- "*"
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: generate_tasks_config.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Generated Task Config - Execution ${execution}
|
|
optional: true
|
|
|
|
- command: timeout.update
|
|
params:
|
|
exec_timeout_secs: 10800 # 3 hours
|
|
timeout_secs: 10800 # 3 hours
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
# Optional b/c reruns of this task will produce no JSON files to avoid
|
|
# generate.tasks failing
|
|
optional: true
|
|
files:
|
|
- src/generated_resmoke_config/*.json
|
|
|
|
"generate fuzzer tasks":
|
|
- *set_task_expansion_macros
|
|
- *set_up_venv
|
|
- *upload_pip_requirements
|
|
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/evergreen_gen_fuzzer_tests.py --expansion-file expansions.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/${name}_gen-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Generated Task Config - Execution ${execution}
|
|
|
|
- command: timeout.update
|
|
params:
|
|
exec_timeout_secs: 10800 # 3 hours
|
|
timeout_secs: 10800 # 3 hours
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
files:
|
|
- src/generated_resmoke_config/${name}.json
|
|
|
|
"setup jstestfuzz":
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${add_nodejs_to_path}
|
|
|
|
git clone git@github.com:10gen/jstestfuzz.git
|
|
|
|
pushd jstestfuzz
|
|
npm install
|
|
npm run prepare
|
|
popd
|
|
|
|
"lint fuzzer sanity patch":
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -eo pipefail
|
|
set -o verbose
|
|
|
|
${add_nodejs_to_path}
|
|
|
|
# Run parse-jsfiles on 50 files at a time with 32 processes in parallel.
|
|
# Grep returns 1 if it fails to find a match.
|
|
(grep "\.js$" modified_and_created_patch_files.txt || true) | xargs -P 32 -L 50 npm run --prefix jstestfuzz parse-jsfiles --
|
|
|
|
"lint fuzzer sanity all":
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -eo pipefail
|
|
set -o verbose
|
|
|
|
${add_nodejs_to_path}
|
|
|
|
# Run parse-jsfiles on 50 files at a time with 32 processes in parallel.
|
|
find "$PWD/jstests" "$PWD/src/mongo/db/modules/enterprise" -name "*.js" -print | xargs -P 32 -L 50 npm run --prefix jstestfuzz parse-jsfiles --
|
|
|
|
# Used by generator
|
|
"run jstestfuzz":
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/run_jstestfuzz/clone_repos.sh"
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src/jstestfuzz
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${add_nodejs_to_path}
|
|
|
|
npm run ${npm_command|jstestfuzz} -- ${jstestfuzz_vars} --branch ${branch_name}
|
|
- 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":
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/idl/run_tests.py
|
|
|
|
"run powercycle test":
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
user=Administrator
|
|
else
|
|
user=$USER
|
|
fi
|
|
|
|
${activate_virtualenv}
|
|
# Set an exit trap so we can save the real exit status (see SERVER-34033).
|
|
trap 'echo $? > error_exit.txt; exit 0' EXIT
|
|
set +o errexit
|
|
eval $python -u buildscripts/resmoke.py powercycle run \
|
|
"--sshUserHost=$(printf "%s@%s" "$user" "${private_ip_address}") \
|
|
--sshConnection=\"-i ${private_key_file}\" \
|
|
--taskName=${task_name}"
|
|
|
|
- command: expansions.update
|
|
params:
|
|
ignore_missing_file: true
|
|
file: src/powercycle_exit.yml
|
|
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
# Trigger a system failure if powercycle failed due to ssh access.
|
|
if [ -n "${ec2_ssh_failure}" ]; then
|
|
echo "ec2_ssh_failure detected - $(cat powercycle_exit.yml)"
|
|
exit ${exit_code}
|
|
fi
|
|
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
shell: bash
|
|
script: |
|
|
# Test exits from here with specified exit_code.
|
|
if [ -n "${exit_code}" ]; then
|
|
# Python program saved exit_code
|
|
exit_code=${exit_code}
|
|
elif [ -f error_exit.txt ]; then
|
|
# Bash trap exit_code
|
|
exit_code=$(cat error_exit.txt)
|
|
else
|
|
exit_code=0
|
|
fi
|
|
echo "Exiting powercycle with code $exit_code"
|
|
exit $exit_code
|
|
|
|
"run packager.py":
|
|
command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
if [ "${has_packages|}" = "true" ] ; then
|
|
cd buildscripts
|
|
$python ${packager_script} --prefix `pwd`/.. --distros ${packager_distro} --tarball `pwd`/../mongodb-dist.tgz -s ${version} -m HEAD -a ${packager_arch}
|
|
cd ..
|
|
fi
|
|
|
|
"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"
|
|
|
|
"cleanup environment":
|
|
command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/cleanup_environment.sh"
|
|
|
|
"kill processes":
|
|
command: subprocess.exec
|
|
params:
|
|
silent: true
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/kill_processes.sh"
|
|
|
|
"run kitchen":
|
|
command: shell.exec
|
|
type: test
|
|
params:
|
|
shell: bash
|
|
working_dir: src/buildscripts/package_test
|
|
script: |
|
|
set -o errexit
|
|
|
|
export KITCHEN_ARTIFACTS_URL="https://s3.amazonaws.com/mciuploads/${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz"
|
|
export KITCHEN_SECURITY_GROUP="${kitchen_security_group}"
|
|
export KITCHEN_SSH_KEY_ID="${kitchen_ssh_key_id}"
|
|
export KITCHEN_SUBNET="${kitchen_subnet}"
|
|
export KITCHEN_VPC="${kitchen_vpc}"
|
|
|
|
if [[ "${packager_arch}" == "aarch64" || "${packager_arch}" == "arm64" ]]; then
|
|
kitchen_packager_distro="${packager_distro}-arm64"
|
|
else
|
|
kitchen_packager_distro="${packager_distro}-x86-64"
|
|
fi
|
|
|
|
${activate_virtualenv}
|
|
# set expiration tag 2 hours in the future, since no test should take this long
|
|
export KITCHEN_EXPIRE="$($python -c 'import datetime; print((datetime.datetime.utcnow() + datetime.timedelta(hours=2)).strftime("%Y-%m-%d %H:%M:%S"))')"
|
|
|
|
for i in {1..3}
|
|
do
|
|
if ! kitchen verify $kitchen_packager_distro; then
|
|
verified="false"
|
|
kitchen destroy $kitchen_packager_distro || true
|
|
sleep 30
|
|
else
|
|
verified="true"
|
|
break
|
|
fi
|
|
done
|
|
|
|
kitchen destroy $kitchen_packager_distro || true
|
|
test "$verified" = "true"
|
|
|
|
"set up EC2 instance": &set_up_ec2_instance
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: host.create
|
|
params:
|
|
provider: ec2
|
|
distro: ${distro_id}
|
|
security_group_ids:
|
|
- sg-097bff6dd0d1d31d0
|
|
|
|
- command: host.list
|
|
params:
|
|
wait: true
|
|
timeout_seconds: 3000
|
|
num_hosts: 1
|
|
path: src/hosts.yml
|
|
|
|
- command: shell.exec
|
|
params:
|
|
shell: bash
|
|
script: |
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
user=Administrator
|
|
else
|
|
user=$USER
|
|
fi
|
|
hostname=$(tr -d '"[]{}' < src/hosts.yml | cut -d , -f 1 | awk -F : '{print $2}')
|
|
|
|
# To add the hostname to expansions.
|
|
echo "private_ip_address: $hostname" >> src/powercycle_ip_address.yml
|
|
|
|
echo $hostname
|
|
echo $user
|
|
|
|
attempts=0
|
|
connection_attempts=${connection_attempts|60}
|
|
|
|
# Check for remote connectivity
|
|
while ! ssh \
|
|
-i ${private_key_file} \
|
|
-o ConnectTimeout=10 \
|
|
-o ForwardAgent=yes \
|
|
-o IdentitiesOnly=yes \
|
|
-o StrictHostKeyChecking=no \
|
|
"$(printf "%s@%s" "$user" "$hostname")" \
|
|
exit 2> /dev/null
|
|
do
|
|
[ "$attempts" -ge "$connection_attempts" ] && exit 1
|
|
((attempts++))
|
|
printf "SSH connection attempt %d/%d failed. Retrying...\n" "$attempts" "$connection_attempts"
|
|
# sleep for Permission denied (publickey) errors
|
|
sleep 10
|
|
done
|
|
|
|
- command: expansions.update
|
|
params:
|
|
file: src/powercycle_ip_address.yml
|
|
|
|
- command: expansions.write
|
|
params:
|
|
file: src/expansions.yml
|
|
|
|
- command: shell.exec
|
|
params:
|
|
shell: bash
|
|
working_dir: src
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/resmoke.py powercycle setup-host
|
|
|
|
### Process & archive remote EC2 artifacts ###
|
|
"save powercycle artifacts": &save_powercycle_artifacts
|
|
command: shell.exec
|
|
params:
|
|
shell: bash
|
|
working_dir: src
|
|
script: |
|
|
set -o verbose
|
|
|
|
if [ ! -f powercycle_ip_address.yml ]; then
|
|
exit 0
|
|
fi
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/resmoke.py powercycle save-diagnostics
|
|
|
|
"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":
|
|
- *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: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
client_logs=$(ls crud*.log fsm*.log 2> /dev/null)
|
|
if [ ! -z "$client_logs" ]; then
|
|
${tar|tar} czf client-logs.tgz $client_logs
|
|
fi
|
|
|
|
"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":
|
|
- *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/cleanup_fuse_watchdog.sh"
|
|
|
|
### Process & archive Code Coverage artifacts ###
|
|
"process code coverage data": &process_code_coverage_data
|
|
command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/process_code_coverage_data.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":
|
|
- *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":
|
|
- *gather_mongo_coredumps
|
|
- *tar_mongo_coredumps
|
|
- *archive_mongo_coredumps
|
|
|
|
### Process & archive failed unittest artifacts ###
|
|
"gather failed unittests": &gather_failed_unittests
|
|
command: shell.exec
|
|
params:
|
|
shell: bash
|
|
working_dir: "src"
|
|
script: |
|
|
set -eou pipefail
|
|
|
|
# Only run on unit test tasks so we don't target mongod binaries from cores.
|
|
if [ "${task_name}" != "run_unittests" ] && [ "${task_name}" != "run_dbtest" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
unittest_bin_dir=dist-unittests/bin
|
|
mkdir -p $unittest_bin_dir || true
|
|
|
|
# Find all core files
|
|
core_files=$(/usr/bin/find -H . \( -name "dump_*.core" -o -name "*.mdmp" \) 2> /dev/null)
|
|
for core_file in $core_files
|
|
do
|
|
# A core file name does not always have the executable name that generated it.
|
|
# See http://stackoverflow.com/questions/34801353/core-dump-filename-gets-thread-name-instead-of-executable-name-with-core-pattern
|
|
# On platforms with GDB, we get the binary name from core file
|
|
gdb=/opt/mongodbtoolchain/gdb/bin/gdb
|
|
if [ -f $gdb ]; then
|
|
binary_file=$($gdb -batch --quiet -ex "core $core_file" 2> /dev/null | grep "Core was generated" | cut -f2 -d "\`" | cut -f1 -d "'" | cut -f1 -d " ")
|
|
binary_file_locations=$binary_file
|
|
else
|
|
# Find the base file name from the core file name, note it may be truncated.
|
|
# Remove leading 'dump_' and trailing '.<pid>.core' or '.<pid or time>.mdmp'
|
|
binary_file=$(echo "$core_file" | sed "s/.*\///;s/dump_//;s/\..*\.core//;s/\..*\.mdmp//")
|
|
# Locate the binary file. Since the base file name might be truncated, the find
|
|
# may return more than 1 file.
|
|
binary_file_locations=$(/usr/bin/find -H . -executable -name "$binary_file*${exe}" 2> /dev/null)
|
|
fi
|
|
if [ -z "$binary_file_locations" ]; then
|
|
echo "Cannot locate the unittest binary file ($binary_file) that generated the core file $core_file"
|
|
fi
|
|
for binary_file_location in $binary_file_locations
|
|
do
|
|
new_binary_file=$unittest_bin_dir/$(echo "$binary_file_location" | sed "s/.*\///")
|
|
if [ -f "$binary_file_location" ] && [ ! -f "$new_binary_file" ]; then
|
|
cp "$binary_file_location" "$new_binary_file"
|
|
fi
|
|
|
|
# On Windows if a .pdb symbol file exists, include it in the archive.
|
|
pdb_file=$(echo "$binary_file_location" | sed "s/\.exe/.pdb/")
|
|
if [ -f "$pdb_file" ]; then
|
|
new_pdb_file=$unittest_bin_dir/$(echo "$pdb_file" | sed "s/.*\///")
|
|
cp "$pdb_file" "$new_pdb_file"
|
|
fi
|
|
|
|
# On binutils platforms, if a .debug symbol file exists, include it
|
|
# in the archive
|
|
debug_file=$binary_file_location.debug
|
|
if [ -f "$debug_file" ]; then
|
|
cp "$debug_file" "$unittest_bin_dir"
|
|
fi
|
|
|
|
# On macOS, these are called .dSYM and they are directories
|
|
dsym_dir=$binary_file_location.dSYM
|
|
if [ -d "$dsym_dir" ]; then
|
|
cp -r "$dsym_dir" "$unittest_bin_dir"
|
|
fi
|
|
|
|
done
|
|
done
|
|
|
|
# Copy debug symbols for dynamic builds
|
|
lib_dir=build/install/lib
|
|
if [ -d "$lib_dir" ] && [[ -n "$core_files" ]]; then
|
|
cp -r "$lib_dir" dist-unittests
|
|
fi
|
|
|
|
"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":
|
|
- *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: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
|
|
# Set what processes to look for. For most tasks, we rely on resmoke to figure out its subprocesses
|
|
# and run the hang analyzer on those. For non-resmoke tasks, we enumerate the process list here.
|
|
if [[ ${task_name} == *"jepsen"* ]]; then
|
|
hang_analyzer_option="-o file -o stdout -p dbtest,java,mongo,mongod,mongos,python,_test";
|
|
else
|
|
hang_analyzer_option="-o file -o stdout -m exact -p python"
|
|
fi
|
|
|
|
${activate_virtualenv}
|
|
echo "Calling the hang analyzer: PATH=\"/opt/mongodbtoolchain/gdb/bin:$PATH\" $python buildscripts/resmoke.py hang-analyzer $hang_analyzer_option"
|
|
PATH="/opt/mongodbtoolchain/gdb/bin:$PATH" $python buildscripts/resmoke.py hang-analyzer $hang_analyzer_option
|
|
|
|
# Call hang analyzer for tasks that are running remote mongo processes
|
|
if [ -n "${private_ip_address}" ]; then
|
|
$python buildscripts/resmoke.py powercycle remote-hang-analyzer
|
|
fi
|
|
|
|
"wait for resmoke to shutdown":
|
|
command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/wait_for_resmoke_to_shutdown.sh"
|
|
|
|
"tar hang analyzer debugger files": &tar_hang_analyzer_debugger_files
|
|
command: archive.targz_pack
|
|
params:
|
|
target: "src/mongo-hanganalyzer.tgz"
|
|
source_dir: "src"
|
|
include:
|
|
- "./debugger*.*"
|
|
|
|
"archive hang analyzer debugger files": &archive_hang_analyzer_debugger_files
|
|
command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/mongo-hanganalyzer.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/hanganalyzer/mongo-hanganalyzer-${build_id}-${task_name}-${execution}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Hang Analyzer Output - Execution ${execution}
|
|
optional: true
|
|
|
|
"save hang analyzer debugger files":
|
|
- *tar_hang_analyzer_debugger_files
|
|
- *archive_hang_analyzer_debugger_files
|
|
|
|
### Process & archive disk statistic artifacts ###
|
|
"tar disk statistics": &tar_disk_statistics
|
|
command: archive.targz_pack
|
|
params:
|
|
target: "diskstats.tgz"
|
|
source_dir: "./"
|
|
include:
|
|
- "./mongo-diskstats*"
|
|
- "./mongo-diskstats*.csv"
|
|
|
|
"archive disk statistics": &archive_disk_statistics
|
|
command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: diskstats.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/diskstats/mongo-diskstats-${task_id}-${execution}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Disk Stats - Execution ${execution}
|
|
optional: true
|
|
|
|
"save disk statistics":
|
|
- *tar_disk_statistics
|
|
- *archive_disk_statistics
|
|
|
|
"save libfuzzertest corpora":
|
|
- *archive_new_corpus
|
|
- *upload_new_corpus
|
|
- *upload_new_corpus_mciuploads
|
|
|
|
### Process & archive system resource artifacts ###
|
|
"tar system resource information": &tar_system_resource_information
|
|
command: archive.targz_pack
|
|
params:
|
|
target: "system-resource-info.tgz"
|
|
source_dir: src
|
|
include:
|
|
- "./system_resource_info*"
|
|
|
|
"archive system resource information": &archive_system_resource_information
|
|
command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: system-resource-info.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/systemresourceinfo/mongo-system-resource-info-${task_id}-${execution}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: System Resource Info - Execution ${execution}
|
|
optional: true
|
|
|
|
"save system resource information":
|
|
- *tar_system_resource_information
|
|
- *archive_system_resource_information
|
|
|
|
"tar UndoDB recordings": &tar_undodb_recordings
|
|
command: archive.targz_pack
|
|
params:
|
|
target: undodb-recordings.tgz
|
|
source_dir: src
|
|
include:
|
|
- "./*.undo"
|
|
|
|
"archive UndoDB recordings": &archive_undodb_recordings
|
|
command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: undodb-recordings.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/undo/undodb-recordings-${task_id}-execution-${execution}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: UndoDB Recordings - Execution ${execution}
|
|
optional: true
|
|
|
|
"save UndoDB recordings":
|
|
- *tar_undodb_recordings
|
|
- *archive_undodb_recordings
|
|
|
|
### Attach report & artifacts ###
|
|
"attach scons logs":
|
|
- command: s3.put
|
|
params:
|
|
optional: true
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/build/scons/config.log
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-config.log.${build_id}-${task_name}-${execution}
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: text/plain
|
|
display_name: SCons configure log
|
|
|
|
- command: s3.put
|
|
params:
|
|
optional: true
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/scons_cache.log
|
|
content_type: text/plain
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-cache.log.${build_id}-${task_name}.${execution}
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
display_name: SCons cache debug log
|
|
|
|
"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":
|
|
- command: shell.exec
|
|
params:
|
|
shell: bash
|
|
script: |
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
${activate_virtualenv}
|
|
$python -c 'import json; print(json.dumps([{
|
|
"name": "Wiki: Running Tests from Evergreen Tasks Locally",
|
|
"link": "https://github.com/mongodb/mongo/wiki/Running-Tests-from-Evergreen-Tasks-Locally",
|
|
"visibility": "public",
|
|
"ignore_for_fetch": True
|
|
}]))' > wiki_page_location.json
|
|
- command: attach.artifacts
|
|
params:
|
|
files:
|
|
- wiki_page_location.json
|
|
|
|
|
|
# Pre task steps
|
|
pre:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "kill processes"
|
|
- func: "cleanup environment"
|
|
- func: "set task expansion macros"
|
|
|
|
# Post task steps
|
|
post:
|
|
- 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: "run hang analyzer"
|
|
- func: "wait for resmoke to shutdown"
|
|
|
|
|
|
#######################################
|
|
# Tasks #
|
|
#######################################
|
|
|
|
tasks:
|
|
|
|
## compile - build all scons targets except unittests ##
|
|
- name: compile_dist_test
|
|
depends_on: []
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: >-
|
|
install-dist-test
|
|
${additional_compile_targets|}
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
PREFIX=dist-test
|
|
|
|
- name: archive_dist_test
|
|
depends_on:
|
|
- name: compile_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: >-
|
|
archive-dist-test
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
PREFIX=dist-test
|
|
|
|
- command: s3.put
|
|
params:
|
|
optional: true
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/mongodb-binaries.${ext|tgz}
|
|
remote_file: ${mongo_binaries}
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Binaries
|
|
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/gen_feature_flags.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: "artifacts.tgz"
|
|
source_dir: "src"
|
|
include:
|
|
- "./build/**.gcno"
|
|
- "./etc/*san.suppressions"
|
|
- "./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"
|
|
- "pytests/**"
|
|
- "src/mongo/client/sdam/json_tests/sdam_tests/**"
|
|
- "src/mongo/client/sdam/json_tests/server_selection_tests/**"
|
|
- "src/mongo/db/modules/enterprise/docs/**"
|
|
- "src/mongo/db/modules/enterprise/jstests/**"
|
|
- "src/mongo/db/modules/subscription/jstests/**"
|
|
- "src/mongo/util/options_parser/test_config_files/**"
|
|
- "src/third_party/JSON-Schema-Test-Suite/tests/draft4/**"
|
|
- "src/third_party/mock_ocsp_responder/**"
|
|
- "src/third_party/schemastore.org/**"
|
|
exclude_files:
|
|
- "*_test.pdb"
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: artifacts.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: private
|
|
visibility: signed
|
|
content_type: application/tar
|
|
display_name: Artifacts
|
|
|
|
# For patch builds that bypass compile, we upload links to pre-existing tarballs, except for the
|
|
# artifacts.tgz.
|
|
- command: attach.artifacts
|
|
params:
|
|
optional: true
|
|
ignore_artifacts_for_spawn: false
|
|
files:
|
|
- src/artifacts.json
|
|
|
|
|
|
- name: archive_dist_test_debug
|
|
depends_on:
|
|
- name: archive_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: >-
|
|
archive-dist-test-debug
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
PREFIX=dist-test
|
|
|
|
- func: "upload debugsymbols"
|
|
|
|
- name: compile_ninja
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
task_install_action:
|
|
default
|
|
task_compile_flags: >-
|
|
--ninja
|
|
targets:
|
|
build.ninja
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
${activate_virtualenv}
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
vcvars="$(vswhere -latest -property installationPath | tr '\\' '/' | dos2unix.exe)/VC/Auxiliary/Build/"
|
|
cd "$vcvars" && cmd /K "vcvarsall.bat amd64 && cd ${workdir}\src"
|
|
fi
|
|
python -m pip install ninja
|
|
ninja install-core
|
|
|
|
- name: compile_ninja_next
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
task_install_action:
|
|
default
|
|
task_compile_flags: >-
|
|
--build-tools=next
|
|
--ninja
|
|
targets:
|
|
generate-ninja
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
${activate_virtualenv}
|
|
if [ "Windows_NT" = "$OS" ]; then
|
|
vcvars="$(vswhere -latest -property installationPath | tr '\\' '/' | dos2unix.exe)/VC/Auxiliary/Build/"
|
|
cd "$vcvars" && cmd /K "vcvarsall.bat amd64 && cd ${workdir}\src"
|
|
fi
|
|
python -m pip install ninja
|
|
ninja install-core
|
|
|
|
|
|
- name: compile_build_tools_next
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
task_install_action:
|
|
default
|
|
task_compile_flags: >-
|
|
--build-tools=next
|
|
targets:
|
|
install-core
|
|
|
|
- name: libdeps_graph_linting
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/libdeps_setup.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- func: "scons compile"
|
|
vars:
|
|
task_install_action:
|
|
default
|
|
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"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- 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
|
|
depends_on:
|
|
- name: compile_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-all-meta
|
|
compiling_for_test: true
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
|
|
## clang_tidy - run clang_tidy
|
|
- name: clang_tidy
|
|
exec_timeout_secs: 3600 # 1 hour timeout for the task overall
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: generated-sources compiledb
|
|
compiling_for_test: true
|
|
- command: subprocess.exec
|
|
type: test
|
|
timeout_secs: 3600 # 1 hour timeout for no output
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "./src/evergreen/run_clang_tidy.sh"
|
|
|
|
## compile_unittests ##
|
|
- name: compile_unittests
|
|
depends_on:
|
|
- name: compile_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-unittests install-unittests-debug
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
compiling_for_test: true
|
|
|
|
## run_unittests ##
|
|
- name: run_unittests
|
|
depends_on:
|
|
- name: compile_unittests
|
|
commands:
|
|
- func: "run diskstats"
|
|
- func: "monitor process threads"
|
|
- func: "collect system resource info"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=unittests
|
|
|
|
##compile_and_archive_libfuzzertests - build libfuzzertests ##
|
|
- name: compile_and_archive_libfuzzertests
|
|
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
|
|
commands:
|
|
- func: "fetch corpus"
|
|
- func: "fetch legacy corpus"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=libfuzzer
|
|
|
|
- name: server_discovery_and_monitoring_json_test
|
|
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
|
|
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
|
|
depends_on:
|
|
- name: compile_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-dbtest install-dbtest-debug
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
compiling_for_test: true
|
|
|
|
## run_dbtest ##
|
|
- name: run_dbtest
|
|
depends_on:
|
|
- name: compile_dbtest
|
|
commands:
|
|
- func: "run diskstats"
|
|
- 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
|
|
depends_on:
|
|
- name: compile_dbtest
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: archive-dbtest archive-dbtest-debug
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
compiling_for_test: true
|
|
|
|
- name: compile_visibility_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: archive-visibility-test-meta
|
|
task_compile_flags: >-
|
|
--ssl
|
|
--dbg=on
|
|
--opt=on
|
|
--separate-debug
|
|
--link-model=dynamic
|
|
--experimental-visibility-support=on
|
|
|
|
- command: s3.put
|
|
params:
|
|
optional: true
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/visibility-test-meta.${ext|tgz}
|
|
remote_file: ${project}/${build_variant}/${revision}/visibility-test-meta-${build_id}-${task_name}-${execution}.${ext|tgz}
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: ${content_type|application/gzip}
|
|
display_name: Binaries
|
|
|
|
## embedded_sdk_build_and_test_* - build the embedded-dev and embedded-test targets only ##
|
|
|
|
- name: embedded_sdk_build_cdriver
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/embedded_sdk_build_cdriver.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: embedded_sdk_install_dev
|
|
depends_on:
|
|
- name: embedded_sdk_build_cdriver
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-embedded-dev
|
|
task_compile_flags: &embedded_sdk_compile_flags >-
|
|
--allocator=system
|
|
--dbg=off
|
|
--enable-free-mon=off
|
|
--enable-http-client=off
|
|
--js-engine=none
|
|
--opt=size
|
|
--separate-debug
|
|
--ssl=off
|
|
--use-system-mongo-c=on
|
|
DESTDIR='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION'
|
|
CPPPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libbson-1.0 $BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libmongoc-1.0'
|
|
task_compile_flags_extra: >-
|
|
--link-model=dynamic-sdk
|
|
|
|
- name: embedded_sdk_s3_put
|
|
depends_on:
|
|
- name: embedded_sdk_install_dev
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/embedded_sdk_s3_tar.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
# 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
|
|
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
|
|
depends_on:
|
|
- name: embedded_sdk_install_tests
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/embedded_sdk_tests_s3_tar.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
# 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
|
|
depends_on:
|
|
- name: embedded_sdk_install_tests
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/embedded_sdk_run_tests.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/embedded_sdk_run_tests_post.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: embedded_sdk_s3_put_latest
|
|
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
|
|
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
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-stitch-support install-stitch-support-debug install-stitch-support-dev
|
|
task_compile_flags: >-
|
|
--dbg=off
|
|
--link-model=dynamic-sdk
|
|
--enable-free-mon=off
|
|
--ssl=off
|
|
--enable-http-client=off
|
|
--modules=
|
|
--separate-debug
|
|
DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION'
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/stitch_support_create_lib_tar.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- 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
|
|
depends_on:
|
|
- name: stitch_support_create_lib
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: install-stitch-support-test
|
|
compiling_for_test: true
|
|
task_compile_flags: >-
|
|
--dbg=off
|
|
--enable-free-mon=off
|
|
--ssl=off
|
|
--enable-http-client=off
|
|
--modules=
|
|
--separate-debug
|
|
DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION'
|
|
|
|
- name: stitch_support_run_tests
|
|
depends_on:
|
|
- name: stitch_support_install_tests
|
|
commands:
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/stitch_support_run_tests.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: compile_benchmarks
|
|
depends_on: []
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "get buildnumber"
|
|
- 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
|
|
commands:
|
|
- command: timeout.update
|
|
params:
|
|
# 40 minutes
|
|
exec_timeout_secs: 2400
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "scons lint"
|
|
vars:
|
|
targets: lint-pylinters
|
|
|
|
- name: lint_clang_format
|
|
commands:
|
|
- command: timeout.update
|
|
params:
|
|
# 40 minutes
|
|
exec_timeout_secs: 2400
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "scons lint"
|
|
vars:
|
|
targets: lint-clang-format
|
|
|
|
- name: lint_eslint
|
|
commands:
|
|
- command: timeout.update
|
|
params:
|
|
# 40 minutes
|
|
exec_timeout_secs: 2400
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "scons lint"
|
|
vars:
|
|
targets: lint-eslint
|
|
|
|
- name: lint_cpplint
|
|
commands:
|
|
- command: timeout.update
|
|
params:
|
|
# 40 minutes
|
|
exec_timeout_secs: 2400
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "scons lint"
|
|
vars:
|
|
targets: lint-lint.py
|
|
|
|
- name: lint_yaml
|
|
depends_on: []
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/lint_yaml.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: lint_shellscripts
|
|
commands:
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/lint_shellscripts.sh"
|
|
|
|
- name: lint_errorcodes
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "scons lint"
|
|
vars:
|
|
targets: lint-errorcodes
|
|
|
|
- name: test_api_version_compatibility
|
|
depends_on:
|
|
- name: archive_dist_test_debug
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "do setup"
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/check_idl_compat.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: burn_in_tests_gen
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "configure evergreen api credentials"
|
|
- *do_multiversion_setup
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/burn_in_tests.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: src/burn_in_tests_gen.tgz
|
|
source_dir: src
|
|
include:
|
|
- burn_in_tests_gen.json
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/burn_in_tests_gen.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/burn_in_tests_gen/burn_in_tests_gen-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Burn_in_tests Task Config - Execution ${execution}
|
|
- command: generate.tasks
|
|
params:
|
|
files:
|
|
- src/burn_in_tests_gen.json
|
|
|
|
- name: burn_in_tests_multiversion_gen
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "configure evergreen api credentials"
|
|
- func: "do multiversion setup"
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/burn_in_tests_multiversion.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- command: archive.targz_pack
|
|
params:
|
|
target: src/burn_in_tests_multiversion_gen.tgz
|
|
source_dir: src
|
|
include:
|
|
- burn_in_tests_multiversion_gen.json
|
|
|
|
- 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/burn_in_tests_multiversion_gen-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
optional: true
|
|
display_name: Generated Multiversion Resmoke.py Suite Config - Execution ${execution}
|
|
|
|
- command: s3.put
|
|
params:
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/burn_in_tests_multiversion_gen.tgz
|
|
remote_file: ${project}/${build_variant}/${revision}/generate_tasks/burn_in_tests_multiversion_gen_config-${build_id}.tgz
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: application/gzip
|
|
display_name: Burn_in_tests Task Config - Execution ${execution}
|
|
|
|
- command: generate.tasks
|
|
params:
|
|
files:
|
|
- src/burn_in_tests_multiversion_gen.json
|
|
|
|
- <<: *benchmark_template
|
|
name: benchmarks_orphaned
|
|
tags: ["benchmarks"]
|
|
commands:
|
|
- func: "do benchmark setup"
|
|
- func: "run tests"
|
|
vars:
|
|
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
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "do jepsen setup"
|
|
- func: "run jepsen test"
|
|
vars:
|
|
<<: *jepsen_config_vars
|
|
jepsen_storage_engine: --storage-engine wiredTiger
|
|
jepsen_test_name: read-concern-majority
|
|
jepsen_time_limit: --time-limit 120
|
|
|
|
- <<: *run_jepsen_template
|
|
name: jepsen_read-concern-majority_w1
|
|
tags: ["jepsen"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "do jepsen setup"
|
|
- func: "run jepsen test"
|
|
vars:
|
|
<<: *jepsen_config_vars
|
|
jepsen_storage_engine: --storage-engine wiredTiger
|
|
jepsen_test_name: read-concern-majority
|
|
jepsen_write_concern: --write-concern w1
|
|
|
|
## initial sync multiversion fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: initial_sync_multiversion_fuzzer_gen
|
|
tags: ["multiversion_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: initsync-fuzzer
|
|
suite: initial_sync_multiversion_fuzzer
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: initial_sync_multiversion_fuzzer
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## initial sync generational fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: initial_sync_fuzzer_gen
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: initsync-fuzzer
|
|
suite: initial_sync_fuzzer
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: initial_sync_fuzzer
|
|
|
|
## Standalone generational fuzzer for multiversion aggregation pipelines ##
|
|
- <<: *jstestfuzz_template
|
|
name: aggregation_multiversion_fuzzer_gen
|
|
tags: ["aggfuzzer", "common", "multiversion"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 5
|
|
num_tasks: 5
|
|
suite: generational_fuzzer
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
npm_command: agg-fuzzer
|
|
name: aggregation_multiversion_fuzzer
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## Standalone generational fuzzer for multiversion aggregation expressions ##
|
|
- <<: *jstestfuzz_template
|
|
name: aggregation_expression_multiversion_fuzzer_gen
|
|
tags: ["aggfuzzer", "multiversion"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
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
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## Standalone generational fuzzer for checking optimized and unoptimized expression equivalence
|
|
- <<: *jstestfuzz_template
|
|
name: aggregation_expression_optimization_fuzzer_gen
|
|
tags: ["aggfuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
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 fuzzer 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 fuzzer 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 fuzzer 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
|
|
|
|
## jstestfuzz standalone fuzzer for checking find and aggregate equivalence ##
|
|
- <<: *jstestfuzz_template
|
|
name: query_fuzzer_standalone_gen
|
|
tags: ["query_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 5
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --diffTestingMode standalone
|
|
npm_command: query-fuzzer
|
|
suite: generational_fuzzer
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: query_fuzzer_standalone
|
|
|
|
## jstestfuzz sharded fuzzer for checking find and aggregate equivalence ##
|
|
- <<: *jstestfuzz_template
|
|
name: query_fuzzer_sharded_gen
|
|
tags: ["query_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
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 fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 5
|
|
num_tasks: 5
|
|
npm_command: update-fuzzer
|
|
suite: generational_fuzzer
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: update_fuzzer
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## jstestfuzz replication update generational fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: update_fuzzer_replication_gen
|
|
tags: ["updatefuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 5
|
|
num_tasks: 5
|
|
npm_command: update-fuzzer
|
|
suite: generational_fuzzer_replication
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: update_fuzzer_replication
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## rollback multiversion fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: rollback_multiversion_fuzzer_gen
|
|
tags: ["multiversion_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 3
|
|
num_tasks: 5
|
|
npm_command: rollback-fuzzer
|
|
suite: rollback_multiversion_fuzzer
|
|
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
|
|
# index build commit quorum.
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
|
|
name: rollback_multiversion_fuzzer
|
|
task_path_suffix: "/data/multiversion"
|
|
|
|
## rollback generational fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: rollback_fuzzer_gen
|
|
tags: ["rollbackfuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 3
|
|
num_tasks: 5
|
|
npm_command: rollback-fuzzer
|
|
suite: rollback_fuzzer
|
|
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
|
|
# index build commit quorum.
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
|
|
name: rollback_fuzzer
|
|
|
|
## rollback generational fuzzer with clean shutdowns ##
|
|
- <<: *jstestfuzz_template
|
|
name: rollback_fuzzer_clean_shutdowns_gen
|
|
tags: ["rollbackfuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 1
|
|
num_tasks: 4
|
|
jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50
|
|
npm_command: rollback-fuzzer
|
|
suite: rollback_fuzzer_clean_shutdowns
|
|
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
|
|
# index build commit quorum.
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
|
|
name: rollback_fuzzer_clean_shutdowns
|
|
|
|
## rollback generational fuzzer with unclean shutdowns ##
|
|
- <<: *jstestfuzz_template
|
|
name: rollback_fuzzer_unclean_shutdowns_gen
|
|
tags: ["rollbackfuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 1
|
|
num_tasks: 4
|
|
jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50
|
|
npm_command: rollback-fuzzer
|
|
suite: rollback_fuzzer_unclean_shutdowns
|
|
# Rollback suites create indexes with majority of nodes not available for replication. So, disabling
|
|
# index build commit quorum.
|
|
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'"
|
|
name: rollback_fuzzer_unclean_shutdowns
|
|
|
|
## jstestfuzz ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_gen
|
|
tags: ["jstestfuzz", "common"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
npm_command: jstestfuzz
|
|
name: jstestfuzz
|
|
|
|
## jstestfuzz concurrent ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_gen
|
|
tags: ["jstestfuzz", "common"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent
|
|
|
|
## jstestfuzz concurrent replica set ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_replication_gen
|
|
tags: ["jstestfuzz", "common", "repl"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_replication
|
|
|
|
## jstestfuzz concurrent replica set with logical session ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_replication_session_gen
|
|
tags: ["jstestfuzz", "session"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_session
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_replication_session
|
|
|
|
## jstestfuzz concurrent sharded cluster ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_sharded_gen
|
|
tags: ["jstestfuzz", "common", "sharding"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_sharded
|
|
|
|
## jstestfuzz concurrent sharded cluster causal consistency ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_sharded_causal_consistency_gen
|
|
tags: ["jstestfuzz", "causal"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_causal_consistency
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_sharded_causal_consistency
|
|
|
|
## jstestfuzz concurrent sharded cluster continuous stepdown ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_sharded_continuous_stepdown_gen
|
|
tags: ["jstestfuzz", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 2
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_continuous_stepdown
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_sharded_continuous_stepdown
|
|
|
|
## jstestfuzz concurrent sharded cluster with logical session ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_sharded_session_gen
|
|
tags: ["jstestfuzz", "session"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: ${jstestfuzz_concurrent_num_files|10}
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_session
|
|
resmoke_args: --storageEngine=wiredTiger --numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_sharded_session
|
|
|
|
# jstestfuzz interrupt #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_interrupt_gen
|
|
tags: ["jstestfuzz", "interrupt"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_interrupt
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_interrupt
|
|
|
|
# jstestfuzz interrupt #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_interrupt_replication_gen
|
|
tags: ["jstestfuzz", "interrupt"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_interrupt_replication
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_interrupt_replication
|
|
|
|
# jstestfuzz write conflict #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_write_conflicts_gen
|
|
tags: ["jstestfuzz", "write_conflict"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_write_conflicts
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_replication_write_conflicts
|
|
|
|
# jstestfuzz concurrent conflict #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_replication_write_conflicts_gen
|
|
tags: ["jstestfuzz", "write_conflict"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_write_conflicts
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}' --numClientsPerFixture=10"
|
|
name: jstestfuzz_concurrent_replication_write_conflicts
|
|
|
|
# jstestfuzz interrupt with flow control engaged #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_interrupt_replication_flow_control_gen
|
|
tags: ["jstestfuzz", "interrupt", "flow_control"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 2
|
|
num_tasks: 1
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_interrupt_replication
|
|
resmoke_args: "--flowControlTicketOverride=1 --storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_interrupt_replication_flow_control
|
|
|
|
## jstestfuzz sharded cluster continuous stepdown with flow control engaged ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_continuous_stepdown_flow_control_gen
|
|
tags: ["jstestfuzz", "flow_control", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 2
|
|
num_tasks: 1
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_continuous_stepdown
|
|
resmoke_args: >-
|
|
--flowControlTicketOverride=3
|
|
--storageEngine=wiredTiger
|
|
--mongodSetParameters="{logComponentVerbosity: {command: 2}}"
|
|
name: jstestfuzz_sharded_continuous_stepdown_flow_control
|
|
|
|
## jstestfuzz concurrent sharded cluster continuous stepdown with flow control engaged ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_sharded_continuous_stepdown_flow_control_gen
|
|
tags: ["jstestfuzz", "flow_control", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 2
|
|
num_tasks: 1
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_continuous_stepdown
|
|
resmoke_args: >-
|
|
--flowControlTicketOverride=30
|
|
--storageEngine=wiredTiger
|
|
--numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_sharded_continuous_stepdown_flow_control
|
|
|
|
# jstestfuzz replication continuous stepdown with flow control engaged #
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_continuous_stepdown_flow_control_gen
|
|
tags: ["jstestfuzz", "repl", "flow_control", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 2
|
|
num_tasks: 1
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_continuous_stepdown
|
|
resmoke_args: >-
|
|
--flowControlTicketOverride=1
|
|
--storageEngine=wiredTiger
|
|
--mongodSetParameters="{logComponentVerbosity: {command: 2}}"
|
|
name: jstestfuzz_replication_continuous_stepdown_flow_control
|
|
|
|
## jstestfuzz concurrent replication continuous stepdown with flow control engaged ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_concurrent_replication_continuous_stepdown_flow_control_gen
|
|
tags: ["jstestfuzz", "repl", "flow_control", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 2
|
|
num_tasks: 1
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_continuous_stepdown
|
|
resmoke_args: >-
|
|
--flowControlTicketOverride=10
|
|
--storageEngine=wiredTiger
|
|
--numClientsPerFixture=10
|
|
name: jstestfuzz_concurrent_replication_continuous_stepdown_flow_control
|
|
|
|
## jstestfuzz replica set ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_gen
|
|
tags: ["jstestfuzz", "common", "repl"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_replication
|
|
|
|
## jstestfuzz replica set ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_multiversion_gen
|
|
tags: ["jstestfuzz_multiversion_gen"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
suite: jstestfuzz_replication
|
|
is_jstestfuzz: true
|
|
use_multiversion: /data/multiversion
|
|
task_path_suffix: /data/multiversion
|
|
npm_command: jstestfuzz
|
|
|
|
## jstestfuzz initial sync replica set ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_initsync_gen
|
|
tags: ["jstestfuzz", "initsync"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 8
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_initsync
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_replication_initsync
|
|
|
|
## jstestfuzz replica set with logical session ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_replication_session_gen
|
|
tags: ["jstestfuzz", "session"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_replication_session
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_replication_session
|
|
|
|
## jstestfuzz sharded cluster ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_gen
|
|
tags: ["jstestfuzz", "common", "sharding"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_sharded
|
|
|
|
## jstestfuzz sharded multiversion cluster ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_multiversion_gen
|
|
tags: [jstestfuzz_multiversion_gen]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
suite: jstestfuzz_sharded
|
|
is_jstestfuzz: true
|
|
use_multiversion: /data/multiversion
|
|
task_path_suffix: /data/multiversion
|
|
npm_command: jstestfuzz
|
|
|
|
## jstestfuzz sharded cluster causal consistency ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_causal_consistency_gen
|
|
tags: ["jstestfuzz", "causal"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_causal_consistency
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_sharded_causal_consistency
|
|
|
|
## jstestfuzz sharded cluster continuous stepdown ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_continuous_stepdown_gen
|
|
tags: ["jstestfuzz", "stepdowns"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 5
|
|
num_tasks: 5
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_continuous_stepdown
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_sharded_continuous_stepdown
|
|
|
|
## jstestfuzz sharded cluster with logical session ##
|
|
- <<: *jstestfuzz_template
|
|
name: jstestfuzz_sharded_session_gen
|
|
tags: ["jstestfuzz", "session"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
jstestfuzz_vars: --jsTestsDir ../jstests
|
|
suite: jstestfuzz_sharded_session
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {command: 2}}'"
|
|
name: jstestfuzz_sharded_session
|
|
|
|
## resharding generational fuzzer ##
|
|
- <<: *jstestfuzz_template
|
|
name: resharding_fuzzer_inplace_gen
|
|
tags: ["resharding_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: resharding-fuzzer
|
|
jstestfuzz_vars: --numDonors 2 --numRecipients 2 --inPlace yes
|
|
suite: resharding_fuzzer
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
name: resharding_fuzzer_inplace
|
|
|
|
- <<: *jstestfuzz_template
|
|
name: resharding_fuzzer_split_gen
|
|
tags: ["resharding_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: resharding-fuzzer
|
|
jstestfuzz_vars: --numDonors 1 --numRecipients 2 --inPlace no
|
|
suite: resharding_fuzzer
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
name: resharding_fuzzer_split
|
|
|
|
- <<: *jstestfuzz_template
|
|
name: resharding_fuzzer_merge_gen
|
|
tags: ["resharding_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: resharding-fuzzer
|
|
jstestfuzz_vars: --numDonors 2 --numRecipients 1 --inPlace no
|
|
suite: resharding_fuzzer
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
name: resharding_fuzzer_merge
|
|
|
|
- <<: *jstestfuzz_template
|
|
name: resharding_fuzzer_shuffle_gen
|
|
tags: ["resharding_fuzzer"]
|
|
commands:
|
|
- func: "generate fuzzer tasks"
|
|
vars:
|
|
<<: *jstestfuzz_config_vars
|
|
num_files: 10
|
|
num_tasks: 5
|
|
npm_command: resharding-fuzzer
|
|
jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace no
|
|
suite: resharding_fuzzer
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
name: resharding_fuzzer_shuffle
|
|
|
|
## Tests that the multiversion test generation logic is not broken.
|
|
- name: multiversion_sanity_check_gen
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: replica_sets_jscore_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger --includeWithAnyTags=multiversion_sanity_check
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: replica_sets_jscore_multiversion_passthrough_gen
|
|
tags: ["multiversion_passthrough"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: replica_sets_jscore_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
# Check that the mutational fuzzer can parse JS files modified in a patch build.
|
|
- name: lint_fuzzer_sanity_patch
|
|
patch_only: true
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- 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
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "setup jstestfuzz"
|
|
- func: "lint fuzzer sanity all"
|
|
|
|
## integration test suites ##
|
|
|
|
- <<: *task_template
|
|
name: aggregation
|
|
tags: ["aggregation", "common"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_disabled_optimization
|
|
tags: ["aggregation", "common"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_disabled_optimization --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_ese
|
|
tags: ["aggregation", "encrypt"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_ese --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_ese_gcm
|
|
tags: ["aggregation", "encrypt", "gcm"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_ese_gcm --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_auth
|
|
tags: ["aggregation", "auth", "common"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_auth --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_facet_unwind_passthrough
|
|
tags: ["aggregation", "unwind"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_facet_unwind_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_mongos_passthrough
|
|
tags: ["aggregation", "no_async"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_mongos_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_one_shard_sharded_collections
|
|
tags: ["aggregation", "no_async", "sharded"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_one_shard_sharded_collections --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: aggregation_read_concern_majority_passthrough
|
|
tags: ["aggregation", "read_write_concern"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_read_concern_majority_passthrough --storageEngine=wiredTiger
|
|
resmoke_jobs_factor: 0.5
|
|
|
|
- name: aggregation_secondary_reads_gen
|
|
tags: ["aggregation", "secondary_reads"]
|
|
depends_on:
|
|
- name: aggregation
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: aggregation
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *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: aggregation_slot_based_execution
|
|
tags: ["aggregation", "sbe"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=aggregation_sbe --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: audit
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=audit --storageEngine=wiredTiger
|
|
|
|
- name: auth_gen
|
|
tags: ["auth"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 4
|
|
|
|
- name: burn_in_tags_gen
|
|
depends_on:
|
|
- name: archive_dist_test_debug
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
vars:
|
|
pip_dir: ${workdir}/src/etc/pip
|
|
- func: "upload pip requirements"
|
|
- func: "configure evergreen api credentials"
|
|
- func: "do multiversion setup"
|
|
- func: "generate burn in tags"
|
|
vars:
|
|
max_revisions: 25
|
|
repeat_tests_secs: 600
|
|
repeat_tests_min: 2
|
|
repeat_tests_max: 1000
|
|
|
|
- name: selected_tests_gen
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
vars:
|
|
pip_dir: ${workdir}/src/etc/pip
|
|
- func: "upload pip requirements"
|
|
- func: "generate selected tests"
|
|
|
|
- name: auth_audit_gen
|
|
tags: ["auth", "audit"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 4
|
|
|
|
- <<: *task_template
|
|
name: change_streams
|
|
tags: ["change_streams"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_multiversion_gen
|
|
tags: ["multiversion_passthrough"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: change_streams
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- <<: *task_template
|
|
name: change_streams_update_v1_oplog
|
|
tags: ["change_streams"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams_update_v1_oplog --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_mongos_sessions_passthrough
|
|
tags: ["change_streams"]
|
|
depends_on:
|
|
- name: change_streams
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams_mongos_sessions_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_mongos_passthrough
|
|
tags: ["change_streams"]
|
|
depends_on:
|
|
- name: change_streams
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams_mongos_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_secondary_reads
|
|
tags: ["change_streams", "secondary_reads"]
|
|
depends_on:
|
|
- name: change_streams
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams_secondary_reads --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_sharded_collections_passthrough
|
|
tags: ["change_streams"]
|
|
depends_on:
|
|
- name: change_streams
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=change_streams_sharded_collections_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: change_streams_sharded_collections_multiversion_passthrough_gen
|
|
tags: ["multiversion_passthrough"]
|
|
depends_on:
|
|
- name: change_streams_multiversion_gen
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: change_streams_sharded_collections_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- <<: *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: gle_auth
|
|
tags: ["auth", "gle"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=gle_auth --shellWriteMode=legacy --shellReadMode=legacy --excludeWithAnyTags=requires_find_command --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: gle_auth_write_cmd
|
|
tags: ["auth", "gle"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=gle_auth --shellWriteMode=commands --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: gle_auth_basics_passthrough
|
|
tags: ["auth", "gle"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=gle_auth_basics_passthrough --shellWriteMode=legacy --shellReadMode=legacy --storageEngine=wiredTiger --excludeWithAnyTags=requires_find_command
|
|
|
|
- <<: *task_template
|
|
name: gle_auth_basics_passthrough_write_cmd
|
|
tags: ["auth", "gle"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=gle_auth_basics_passthrough --shellWriteMode=commands --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: integration_tests_standalone
|
|
tags: ["integration", "standalone"]
|
|
commands:
|
|
- 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:
|
|
- 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:
|
|
- 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:
|
|
- 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:
|
|
- 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
|
|
commands:
|
|
- func: "do setup"
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/external_auth_pip.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=external_auth --excludeWithAnyTags=requires_domain_controller --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: external_auth_aws
|
|
commands:
|
|
- func: "do setup"
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
silent: true
|
|
args:
|
|
- "src/evergreen/external_auth_aws_setup.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/external_auth_aws_pip.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=external_auth_aws --storageEngine=wiredTiger
|
|
|
|
|
|
- <<: *task_template
|
|
name: external_auth_windows
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=external_auth --includeWithAnyTags=requires_domain_controller --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: sharding_gle_auth_basics_passthrough
|
|
tags: ["auth", "gle"]
|
|
depends_on:
|
|
- name: gle_auth_basics_passthrough
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharding_gle_auth_basics_passthrough --shellWriteMode=legacy --shellReadMode=legacy --storageEngine=wiredTiger --excludeWithAnyTags=requires_find_command
|
|
|
|
- <<: *task_template
|
|
name: sharding_gle_auth_basics_passthrough_write_cmd
|
|
tags: ["auth", "gle"]
|
|
depends_on:
|
|
- name: gle_auth_basics_passthrough_write_cmd
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharding_gle_auth_basics_passthrough --shellWriteMode=commands --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_compatibility
|
|
tags: ["jscore", "common", "compat"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=core --shellReadMode=legacy --shellWriteMode=compatibility --storageEngine=wiredTiger --excludeWithAnyTags=requires_find_command,requires_timeseries
|
|
|
|
- <<: *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_op_query
|
|
tags: ["jscore"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=core_op_query --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: jsCore_slot_based_execution
|
|
tags: ["jscore", "common", "sbe"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=core_sbe --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_op_query_txns
|
|
tags: ["sharding", "jscore", "txns"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharded_jscore_op_query_txns --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: sharded_jscore_txns_without_snapshot
|
|
tags: ["sharding", "wo_snapshot", "jscore"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharded_jscore_txns --storageEngine=wiredTiger --excludeWithAnyTags=uses_snapshot_read_concern
|
|
|
|
- <<: *task_template
|
|
name: sharded_jscore_txns_sharded_collections
|
|
tags: ["sharding", "jscore", "txns"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharded_jscore_txns_sharded_collections --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: cst_jscore_passthrough
|
|
tags: ["jscore"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=cst_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: libunwind_tests
|
|
tags: []
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=libunwind --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: causally_consistent_jscore_txns_passthrough
|
|
tags: ["causally_consistent"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=causally_consistent_jscore_txns_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: sharded_causally_consistent_jscore_txns_passthrough_gen
|
|
tags: ["sharding", "jscore", "causally_consistent", "txns"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
dependsOn: jsCore
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: sharded_causally_consistent_jscore_txns_passthrough_without_snapshot_gen
|
|
tags: ["sharding", "wo_snapshot", "causally_consistent", "jscore"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
dependsOn: jsCore
|
|
suite: sharded_causally_consistent_jscore_txns_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger --excludeWithAnyTags=uses_snapshot_read_concern
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: causally_consistent_hedged_reads_jscore_passthrough_gen
|
|
tags: ["causally_consistent", "sharding", "jscore"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
dependsOn: jsCore
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 40
|
|
|
|
- <<: *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"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 5
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_reconfig_jscore_stepdown_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_reconfig_kill_primary_jscore_passthrough
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_reconfig_kill_primary_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: replica_sets_jscore_passthrough_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 1
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_large_txns_format_jscore_passthrough
|
|
tags: ["replica_sets", "multi_oplog", "large", "non_maj_read", "san"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_large_txns_format_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_multi_stmt_txn_jscore_passthrough
|
|
tags: ["replica_sets", "large"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_multi_stmt_txn_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen
|
|
tags: ["replica_sets", "non_maj_read"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- <<: *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
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_update_v1_oplog_jscore_passthrough
|
|
tags: ["replica_sets", "non_maj_read"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_update_v1_oplog_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_initsync_jscore_passthrough
|
|
tags: ["replica_sets", "san", "large"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_initsync_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_initsync_static_jscore_passthrough
|
|
tags: ["replica_sets", "san", "large"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_initsync_static_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_kill_primary_jscore_passthrough
|
|
tags: ["replica_sets", "large", "non_maj_read", "non_live_record"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_kill_primary_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_terminate_primary_jscore_passthrough
|
|
tags: ["replica_sets", "large", "non_maj_read"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_terminate_primary_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_kill_secondaries_jscore_passthrough
|
|
tags: ["replica_sets", "san", "large", "non_live_record"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets_kill_secondaries_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: mongosTest
|
|
tags: ["misc_js", "non_read_maj", "non_live_record"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=mongos_test
|
|
|
|
- name: multiversion_auth_gen
|
|
tags: ["auth", "multiversion"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
use_multiversion: /data/multiversion
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: multiversion_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
use_multiversion: /data/multiversion
|
|
fallback_num_sub_suites: 1
|
|
|
|
# Tests the runFeatureFlagMultiversionTest helper.
|
|
# This requires the 'featureFlagToaster' and 'featureFlagSpoon' parameters to be set to true on
|
|
# build variants that enable this task.
|
|
- name: feature_flag_multiversion_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
use_multiversion: /data/multiversion
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: unittest_shell_hang_analyzer
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 1
|
|
|
|
- name: noPassthrough_gen
|
|
tags: ["misc_js"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: no_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
use_large_distro: "true"
|
|
fallback_num_sub_suites: 12
|
|
|
|
# Only run hot_backups tests for hot_backups variant.
|
|
- name: noPassthroughHotBackups_gen
|
|
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"
|
|
fallback_num_sub_suites: 12
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 5
|
|
|
|
- <<: *task_template
|
|
name: bulk_gle_passthrough
|
|
tags: ["auth", "gle"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=bulk_gle_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: slow1_gen
|
|
tags: ["misc_js", "non_win_dbg"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 4
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: serial_run
|
|
tags: ["misc_js", "non_win_dbg"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=serial_run --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: sharded_collections_jscore_passthrough
|
|
tags: ["sharding", "jscore"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharded_collections_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: sharded_collections_jscore_multiversion_passthrough_gen
|
|
tags: ["multiversion_passthrough"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: sharded_collections_jscore_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- <<: *task_template
|
|
name: sharding_jscore_passthrough
|
|
tags: ["sharding", "jscore", "common"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharding_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: sharding_jscore_multiversion_passthrough_gen
|
|
tags: ["multiversion_passthrough"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: sharding_jscore_passthrough
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- <<: *task_template
|
|
name: sharding_jscore_op_query_passthrough
|
|
tags: ["sharding", "jscore"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharding_jscore_op_query_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *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_op_query_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: sharding_jscore_passthrough_wire_ops_gen
|
|
tags: ["sharding", "jscore"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: sharding_jscore_passthrough
|
|
depends_on: jsCore
|
|
resmoke_args: --storageEngine=wiredTiger --shellReadMode=legacy --shellWriteMode=compatibility --excludeWithAnyTags=requires_find_command,requires_timeseries
|
|
fallback_num_sub_suites: 11
|
|
|
|
- <<: *task_template
|
|
name: sharded_multi_stmt_txn_jscore_passthrough
|
|
tags: ["sharding", "jscore", "multi_stmt"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sharded_multi_stmt_txn_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
|
|
tags: ["multi_shard", "multi_stmt", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 28
|
|
resmoke_jobs_max: 0 # No cap on number of jobs.
|
|
|
|
- name: multi_shard_local_read_write_multi_stmt_txn_jscore_passthrough_gen
|
|
tags: ["multi_shard", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 21
|
|
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
tags: ["multi_stmt"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 19
|
|
|
|
- name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen
|
|
tags: ["multi_shard"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 48
|
|
|
|
- name: multi_shard_multi_stmt_txn_stepdown_primary_jscore_passthrough_gen
|
|
tags: ["multi_shard"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 37
|
|
|
|
- name: tenant_migration_jscore_passthrough_gen
|
|
tags: ["tenant_migration"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- name: tenant_migration_causally_consistent_jscore_passthrough_gen
|
|
tags: ["tenant_migration"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- name: tenant_migration_multi_stmt_txn_jscore_passthrough_gen
|
|
tags: ["tenant_migration", "txn"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- name: tenant_migration_stepdown_jscore_passthrough_gen
|
|
tags: ["tenant_migration"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- name: parallel_gen
|
|
tags: ["misc_js"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 2
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: parallel_compatibility
|
|
tags: ["misc_js"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=parallel --shellReadMode=legacy --shellWriteMode=compatibility --storageEngine=wiredTiger --excludeWithAnyTags=requires_find_command
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency
|
|
tags: ["concurrency", "common"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_metrics
|
|
tags: ["concurrency"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency_metrics --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_replication_metrics
|
|
tags: ["concurrency", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency_replication_metrics --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_replication_gen
|
|
tags: ["concurrency", "common", "repl"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *task_template
|
|
name: concurrency_replication_multiversion_gen
|
|
tags: [multiversion_passthrough]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: concurrency_replication
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *task_template
|
|
name: concurrency_replication_multi_stmt_txn
|
|
tags: ["concurrency", "common", "repl", "txn"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: "--suites=concurrency_replication_multi_stmt_txn --storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
|
|
# TODO: SERVER-35964 revert the addition of UBSAN concurrency_replication suites.
|
|
- <<: *task_template
|
|
name: concurrency_replication_ubsan
|
|
tags: ["concurrency", "ubsan", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency_replication_ubsan --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_replication_causal_consistency_ubsan
|
|
tags: ["concurrency", "ubsan", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency_replication_causal_consistency_ubsan --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_replication_multi_stmt_txn_ubsan
|
|
tags: ["concurrency", "ubsan", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=concurrency_replication_multi_stmt_txn_ubsan --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_replication_wiredtiger_cursor_sweeps_gen
|
|
tags: ["concurrency", "repl"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- name: concurrency_sharded_replication_gen
|
|
tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_replication_multiversion_gen
|
|
tags: ["multiversion_passthrough", "sharded"]
|
|
commands:
|
|
- func: "generate implicit multiversion tasks"
|
|
vars:
|
|
suite: concurrency_sharded_replication
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
task_path_suffix: /data/multiversion
|
|
fallback_num_sub_suites: 4
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_replication_no_txns_gen
|
|
tags: ["concurrency", "no_txns", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: concurrency_sharded_replication
|
|
resmoke_args: "--excludeWithAnyTags=uses_transactions --storageEngine=wiredTiger"
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_replication_no_txns_with_balancer_gen
|
|
tags: ["concurrency", "no_txns", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: concurrency_sharded_replication_with_balancer
|
|
resmoke_args: "--excludeWithAnyTags=uses_transactions --storageEngine=wiredTiger"
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_clusterwide_ops_add_remove_shards_gen
|
|
tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_causal_consistency_gen
|
|
tags: ["concurrency", "non_live_record", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_causal_consistency_and_balancer_gen
|
|
tags: ["concurrency", "large", "non_live_record", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_with_stepdowns_gen
|
|
tags: ["concurrency", "stepdowns", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_with_stepdowns_and_balancer_gen
|
|
tags: ["concurrency", "stepdowns", "large", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
use_large_distro: "true"
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: concurrency_sharded_terminate_primary_with_balancer_gen
|
|
tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: "--storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *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
|
|
fallback_num_sub_suites: 3
|
|
|
|
- name: concurrency_simultaneous_gen
|
|
tags: ["concurrency", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *task_template
|
|
name: concurrency_simultaneous_replication
|
|
tags: ["concurrency", "common", "large", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: "--suites=concurrency_simultaneous_replication --storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_simultaneous_replication_wiredtiger_cursor_sweeps
|
|
tags: ["concurrency", "repl"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: "--suites=concurrency_simultaneous_replication_wiredtiger_cursor_sweeps --storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: concurrency_simultaneous_replication_wiredtiger_eviction_debug
|
|
tags: ["concurrency", "repl", "debug_only"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: "--suites=concurrency_simultaneous_replication_wiredtiger_eviction_debug --storageEngine=wiredTiger"
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: read_concern_linearizable_passthrough
|
|
tags: ["read_write_concern", "linearize", "large"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=read_concern_linearizable_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: read_concern_majority_passthrough_gen
|
|
tags: ["read_write_concern"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- <<: *task_template
|
|
name: write_concern_majority_passthrough
|
|
tags: ["read_write_concern", "large", "write"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=write_concern_majority_passthrough --storageEngine=wiredTiger
|
|
|
|
- <<: *task_template
|
|
name: cwrwc_passthrough
|
|
tags: ["read_write_concern", "large", "write"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=cwrwc_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: cwrwc_rc_majority_passthrough_gen
|
|
tags: ["read_write_concern"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 10
|
|
|
|
- <<: *task_template
|
|
name: cwrwc_wc_majority_passthrough
|
|
tags: ["read_write_concern", "large", "write"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=cwrwc_wc_majority_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: secondary_reads_passthrough_gen
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
depends_on: jsCore
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 12
|
|
|
|
- <<: *task_template
|
|
name: replica_sets
|
|
tags: ["replica_sets", "san", "large"]
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=replica_sets --storageEngine=wiredTiger
|
|
|
|
- name: replica_sets_ese_gen
|
|
tags: ["replica_sets", "encrypt", "san"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 15
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 14
|
|
|
|
- name: replica_sets_large_txns_format_gen
|
|
tags: ["replica_sets", "multi_oplog", "san"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- name: replica_sets_max_mirroring_gen
|
|
tags: ["replica_sets", "san"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- name: replica_sets_update_v1_oplog_gen
|
|
tags: ["replica_sets", "san"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- <<: *task_template
|
|
name: replica_sets_multiversion_gen
|
|
tags: ["random_multiversion_ds"]
|
|
commands:
|
|
- func: "generate randomized multiversion tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
|
|
fallback_num_sub_suites: 8
|
|
use_multiversion: /data/multiversion
|
|
suite: replica_sets_multiversion
|
|
|
|
- <<: *task_template
|
|
name: sasl
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=sasl --storageEngine=wiredTiger
|
|
|
|
- name: sharding_gen
|
|
tags: ["sharding", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 32
|
|
|
|
- name: sharding_multiversion_gen
|
|
tags: ["random_multiversion_ds"]
|
|
commands:
|
|
- func: "generate randomized multiversion tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
|
|
fallback_num_sub_suites: 32
|
|
use_multiversion: /data/multiversion
|
|
suite: sharding_multiversion
|
|
|
|
- name: sharding_max_mirroring_gen
|
|
tags: ["sharding", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 32
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 25
|
|
|
|
- name: sharding_ese_gen
|
|
tags: ["sharding", "encrypt"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 32
|
|
|
|
- name: sharding_ese_gcm_gen
|
|
tags: ["sharding", "encrypt", "gcm"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 32
|
|
|
|
- name: sharding_op_query_gen
|
|
tags: ["sharding", "common", "op_query"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: sharding
|
|
use_large_distro: "true"
|
|
resmoke_args: --shellReadMode=legacy --storageEngine=wiredTiger --excludeWithAnyTags=requires_find_command
|
|
fallback_num_sub_suites: 31
|
|
|
|
- name: sharding_auth_gen
|
|
tags: ["sharding", "auth"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 31
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 31
|
|
|
|
- name: sharding_last_lts_mongos_and_mixed_shards_gen
|
|
tags: ["sharding", "common", "multiversion"]
|
|
commands:
|
|
- func: "generate explicit multiversion tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
use_multiversion: /data/multiversion
|
|
resmoke_args: --tagFile=generated_resmoke_config/multiversion_exclude_tags.yml
|
|
fallback_num_sub_suites: 24
|
|
|
|
- name: sharding_update_v1_oplog_gen
|
|
tags: ["sharding", "common"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 31
|
|
|
|
- <<: *task_template
|
|
name: snmp
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "do snmp setup"
|
|
- func: "run tests"
|
|
vars:
|
|
snmp_config_path: SNMPCONFPATH=snmpconf
|
|
resmoke_args: --suites=snmp --storageEngine=wiredTiger
|
|
|
|
- name: ssl_gen
|
|
tags: ["encrypt", "ssl"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: "--storageEngine=wiredTiger --mongodSetParameters='{logComponentVerbosity: {network: 2, replication: {heartbeats: 2}}}'"
|
|
fallback_num_sub_suites: 5
|
|
|
|
- name: sslSpecial_gen
|
|
tags: ["encrypt", "ssl"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
suite: ssl_special
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 3
|
|
|
|
- <<: *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
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=session_jscore_passthrough --storageEngine=wiredTiger
|
|
|
|
- name: causally_consistent_jscore_passthrough_gen
|
|
tags: ["causally_consistent"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 14
|
|
|
|
- name: causally_consistent_jscore_passthrough_auth_gen
|
|
tags: ["causally_consistent"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 15
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 15
|
|
|
|
- name: sharded_causally_consistent_jscore_passthrough_gen
|
|
tags: ["causally_consistent"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 15
|
|
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
tags: ["retry"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
use_large_distro: "true"
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 9
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 17
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 17
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 16
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 16
|
|
|
|
- name: logical_session_cache_sharding_default_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 12
|
|
|
|
- name: logical_session_cache_sharding_100ms_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 48
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 10
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 20
|
|
|
|
- name: logical_session_cache_sharding_10sec_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 14
|
|
|
|
- name: logical_session_cache_standalone_default_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 5
|
|
|
|
- name: logical_session_cache_standalone_100ms_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 5
|
|
|
|
- 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
|
|
fallback_num_sub_suites: 5
|
|
|
|
- name: logical_session_cache_standalone_10sec_refresh_jscore_passthrough_gen
|
|
tags: ["logical_session_cache"]
|
|
commands:
|
|
- func: "generate resmoke tasks"
|
|
vars:
|
|
resmoke_args: --storageEngine=wiredTiger
|
|
fallback_num_sub_suites: 5
|
|
|
|
- <<: *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:
|
|
- 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:
|
|
- 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
|
|
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
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=json_schema --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: powercycle_smoke_skip_compile
|
|
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "configure evergreen api credentials"
|
|
- func: "do multiversion setup"
|
|
vars:
|
|
install_master_bin: true
|
|
- *move_multiversion_binaries
|
|
- 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_smoke
|
|
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_smoke
|
|
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_fcv4.4
|
|
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"
|
|
|
|
- name: idl_tests
|
|
depends_on:
|
|
- name: archive_dist_test_debug
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- func: "run idl tests"
|
|
|
|
- name: blackduck_scanner
|
|
patchable: false
|
|
commands:
|
|
- func: "do non-compile setup"
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
type: setup
|
|
params:
|
|
binary: bash
|
|
silent: true
|
|
args:
|
|
- "src/evergreen/blackduck_setup.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- command: subprocess.exec
|
|
type: test
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/blackduck_hub.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
|
|
- name: tla_plus
|
|
commands:
|
|
- 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
|
|
depends_on: []
|
|
commands:
|
|
- func: "do non-compile setup"
|
|
- func: "set up remote credentials"
|
|
- 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
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=resmoke_end2end_tests
|
|
|
|
- name: test_packages
|
|
depends_on:
|
|
- name: package
|
|
commands:
|
|
- 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
|
|
depends_on:
|
|
- name: compile_dist_test
|
|
commands:
|
|
- func: "scons compile"
|
|
vars:
|
|
targets: >-
|
|
distsrc-${ext|tgz}
|
|
archive-dist
|
|
archive-dist-debug
|
|
archive-shell
|
|
archive-shell-debug
|
|
${additional_package_targets|}
|
|
task_compile_flags: >-
|
|
--separate-debug
|
|
--legacy-tarball
|
|
- command: expansions.write
|
|
params:
|
|
file: expansions.yml
|
|
- command: subprocess.exec
|
|
params:
|
|
binary: bash
|
|
args:
|
|
- "src/evergreen/package.sh"
|
|
env:
|
|
python: ${python}
|
|
workdir: ${workdir}
|
|
- 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:
|
|
- func: "fetch artifacts"
|
|
- func: "fetch packages"
|
|
- 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"
|
|
- command: shell.exec
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
. ./notary_env.sh
|
|
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
CURATOR_RELEASE=${curator_release|"latest"}
|
|
curl -L -O http://boxes.10gen.com/build/curator/curator-dist-rhel70-$CURATOR_RELEASE.tar.gz
|
|
tar -zxvf curator-dist-rhel70-$CURATOR_RELEASE.tar.gz
|
|
./curator repo submit --service ${barque_url} --config ./etc/repo_config.yaml --distro ${packager_distro} --edition ${repo_edition} --version ${version} --arch ${packager_arch} --packages https://s3.amazonaws.com/mciuploads/${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
|
|
|
|
- name: push
|
|
tags: ["publish"]
|
|
patchable: false
|
|
depends_on:
|
|
- name: package
|
|
- name: jsCore
|
|
- name: run_dbtest
|
|
- name: replica_sets_jscore_passthrough
|
|
stepback: false
|
|
commands:
|
|
- func: "fetch artifacts"
|
|
- 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: "apply compile expansions"
|
|
- func: "fetch dist debugsymbols"
|
|
- func: "set up remote credentials"
|
|
vars:
|
|
aws_key_remote: ${repo_aws_key}
|
|
aws_secret_remote: ${repo_aws_secret}
|
|
- func: "set up notary client credentials"
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
. ./notary_env.sh
|
|
|
|
set -o errexit
|
|
set -o verbose
|
|
|
|
mv mongo-binaries.tgz mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
|
|
mv mongo-shell.tgz mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz}
|
|
mv mongo-cryptd.tgz mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz} || true
|
|
mv mh.tgz mh-${push_name}-${push_arch}-${suffix}.${ext|tgz} || true
|
|
mv mongo-debugsymbols.tgz mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz} || true
|
|
mv distsrc.${ext|tgz} mongodb-src-${src_suffix}.${ext|tar.gz} || true
|
|
/usr/bin/find build/ -type f | grep msi$ | xargs -I original_filename cp original_filename mongodb-${push_name}-${push_arch}-${suffix}.msi || true
|
|
|
|
/usr/local/bin/notary-client.py --key-name "server-5.0" --auth-token-file ${workdir}/src/signing_auth_token --comment "Evergreen Automatic Signing ${revision} - ${build_variant} - ${branch_name}" --notary-url http://notary-service.build.10gen.cc:5000 --skip-missing mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz} mongodb-shell-${push_name}-${push_arch}-${suffix}.${ext|tgz} mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz} mongodb-${push_name}-${push_arch}-${suffix}.msi mongodb-src-${src_suffix}.${ext|tar.gz} mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
|
|
|
|
# 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
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=search --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: search_auth
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=search_auth --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- <<: *task_template
|
|
name: search_ssl
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=search_ssl --storageEngine=wiredTiger
|
|
resmoke_jobs_max: 1
|
|
|
|
- name: shared_scons_cache_pruning
|
|
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
|
|
depends_on: []
|
|
commands:
|
|
- func: "shared scons cache pruning"
|
|
|
|
- name: win_shared_scons_cache_pruning
|
|
exec_timeout_secs: 7200 # 2 hour timeout for the task overall
|
|
depends_on: []
|
|
commands:
|
|
- func: "set up win mount script"
|
|
- func: "shared scons cache pruning"
|
|
|
|
- name: validate_commit_message
|
|
exec_timeout_secs: 600 # 10 minute timeout
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
if [ "${is_commit_queue}" = "true" ]; then
|
|
# Since `commit_message` is an evergreen expansion, we need a way to ensure we
|
|
# properly deal with any special characters that could cause issues (like "). To
|
|
# do this, we will write it out to a file, then read that file into a variable.
|
|
cat > commit_message.txt <<END_OF_COMMIT_MSG
|
|
${commit_message}
|
|
END_OF_COMMIT_MSG
|
|
|
|
commit_message_content=$(cat commit_message.txt)
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/validate_commit_message.py "$commit_message_content"
|
|
fi
|
|
|
|
- name: check_for_todos
|
|
exec_timeout_secs: 600 # 10 minute timeout
|
|
commands:
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- command: shell.exec
|
|
type: test
|
|
params:
|
|
working_dir: src
|
|
shell: bash
|
|
script: |
|
|
set -o verbose
|
|
set -o errexit
|
|
|
|
if [ "${is_commit_queue}" = "true" ]; then
|
|
# Since `commit_message` is an evergreen expansion, we need a way to ensure we
|
|
# properly deal with any special characters that could cause issues (like "). To
|
|
# do this, we will write it out to a file, then read that file into a variable.
|
|
cat > commit_message.txt <<END_OF_COMMIT_MSG
|
|
${commit_message}
|
|
END_OF_COMMIT_MSG
|
|
|
|
commit_message_content=$(cat commit_message.txt)
|
|
|
|
${activate_virtualenv}
|
|
$python buildscripts/todo_check.py --commit-message "$commit_message_content"
|
|
fi
|
|
|
|
- <<: *task_template
|
|
name: mqlrun
|
|
commands:
|
|
- func: "do setup"
|
|
- func: "run tests"
|
|
vars:
|
|
resmoke_args: --suites=mqlrun
|
|
|
|
#######################################
|
|
# Task Groups #
|
|
#######################################
|
|
task_groups:
|
|
- <<: *compile_task_group_template
|
|
name: compile_and_archive_dist_test_TG
|
|
tasks:
|
|
- compile_dist_test
|
|
- archive_dist_test
|
|
- archive_dist_test_debug
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_and_archive_dist_test_then_package_TG
|
|
tasks:
|
|
- compile_dist_test
|
|
- archive_dist_test
|
|
- archive_dist_test_debug
|
|
- package
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_ninja_next_TG
|
|
tasks:
|
|
- compile_build_tools_next
|
|
- compile_ninja_next
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_build_tools_next_TG
|
|
tasks:
|
|
- compile_build_tools_next
|
|
|
|
- <<: *compile_task_group_template
|
|
name: libdeps_graph_linting_TG
|
|
tasks:
|
|
- libdeps_graph_linting
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_ninja_TG
|
|
tasks:
|
|
- compile_ninja
|
|
teardown_task:
|
|
- command: s3.put
|
|
params:
|
|
optional: true
|
|
aws_key: ${aws_key}
|
|
aws_secret: ${aws_secret}
|
|
local_file: src/all.build.ninja
|
|
remote_file: ${project}/${build_variant}/${revision}/artifacts/all.${build_id}.build.ninja
|
|
bucket: mciuploads
|
|
permissions: public-read
|
|
content_type: text/plain
|
|
display_name: build.ninja
|
|
|
|
- <<: *compile_task_group_template
|
|
name: server_discovery_and_monitoring_json_test_TG
|
|
tasks:
|
|
- server_discovery_and_monitoring_json_test
|
|
|
|
- <<: *compile_task_group_template
|
|
name: server_selection_json_test_TG
|
|
tasks:
|
|
- server_selection_json_test
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_run_and_archive_dbtest_TG
|
|
tasks:
|
|
- compile_dbtest
|
|
- run_dbtest
|
|
- archive_dbtest
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_archive_and_run_libfuzzertests_TG
|
|
tasks:
|
|
- compile_and_archive_libfuzzertests
|
|
- fetch_and_run_libfuzzertests
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_test_and_package_serial_TG
|
|
tasks:
|
|
- compile_dist_test
|
|
- archive_dist_test
|
|
- archive_dist_test_debug
|
|
- compile_unittests
|
|
- run_unittests
|
|
- compile_dbtest
|
|
- run_dbtest
|
|
- archive_dbtest
|
|
- compile_all
|
|
- package
|
|
|
|
# These `parallel` task groups are only appropriate for builders that
|
|
# use --link-model=dynamic, and have scons_cache_scope: shared and
|
|
# scons_cache_mode: all. Such builders are able to share all build
|
|
# artifacts, and therefore will not repeatedly re-link the same
|
|
# code. In that mode, it makes sense to run all of these tasks
|
|
# concurrently, since they will share state across machines and can
|
|
# complete faster than running them serially. We keep them in task
|
|
# groups so that if they do run on the same machine, they can avoid the
|
|
# cost of re-running the setup tasks.
|
|
- <<: *compile_task_group_template
|
|
name: compile_test_and_package_parallel_core_stream_TG
|
|
tasks:
|
|
- compile_dist_test
|
|
- archive_dist_test
|
|
- archive_dist_test_debug
|
|
- compile_all
|
|
- package
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_test_and_package_parallel_unittest_stream_TG
|
|
tasks:
|
|
- compile_unittests
|
|
- run_unittests
|
|
|
|
- <<: *compile_task_group_template
|
|
name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
tasks:
|
|
- compile_dbtest
|
|
- run_dbtest
|
|
- archive_dbtest
|
|
|
|
- name: clang_tidy_TG
|
|
setup_group_can_fail_task: true
|
|
setup_group:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "kill processes"
|
|
- func: "cleanup environment"
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "configure evergreen api credentials"
|
|
- func: "get buildnumber"
|
|
- func: "set up credentials"
|
|
- func: "set up win mount script"
|
|
- func: "generate compile expansions"
|
|
teardown_group:
|
|
- func: "umount shared scons directory"
|
|
- func: "cleanup environment"
|
|
setup_task:
|
|
- func: "apply compile expansions"
|
|
- func: "set task expansion macros"
|
|
teardown_task:
|
|
tasks:
|
|
- clang_tidy
|
|
|
|
- name: visibility_test_TG
|
|
setup_group_can_fail_task: true
|
|
max_hosts: 1
|
|
setup_group:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "get buildnumber"
|
|
- func: "set up credentials"
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- 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: "apply compile expansions"
|
|
teardown_task:
|
|
- func: "attach scons logs"
|
|
tasks:
|
|
- compile_visibility_test
|
|
|
|
- name: embedded_sdk_build_and_test
|
|
setup_group_can_fail_task: true
|
|
max_hosts: 1
|
|
setup_group:
|
|
- command: manifest.load
|
|
- func: "git get project"
|
|
- func: "get buildnumber"
|
|
- func: "set up credentials"
|
|
- func: "set task expansion macros"
|
|
- func: "set up venv"
|
|
- func: "upload pip requirements"
|
|
- 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: "apply compile expansions"
|
|
teardown_task:
|
|
- func: "attach scons logs"
|
|
tasks:
|
|
- "embedded_sdk_build_cdriver"
|
|
- "embedded_sdk_install_dev"
|
|
- "embedded_sdk_s3_put"
|
|
- "embedded_sdk_install_tests"
|
|
- "embedded_sdk_tests_s3_put"
|
|
- "embedded_sdk_run_tests"
|
|
- "embedded_sdk_s3_put_latest"
|
|
- "embedded_sdk_tests_s3_put_latest"
|
|
|
|
- <<: *stitch_support_task_group_template
|
|
name: stitch_support_lib_build_and_archive
|
|
tags: ["stitch"]
|
|
tasks:
|
|
- "stitch_support_create_lib"
|
|
- <<: *stitch_support_task_group_template
|
|
name: stitch_support_lib_build_and_test
|
|
tags: ["stitch"]
|
|
max_hosts: 1
|
|
tasks:
|
|
- "stitch_support_install_tests"
|
|
- "stitch_support_run_tests"
|
|
|
|
#######################################
|
|
# Modules #
|
|
#######################################
|
|
# if a module is added and to be added to the manifest
|
|
# be sure to add the module to git.get_project revisions parameter
|
|
modules:
|
|
- name: enterprise
|
|
repo: git@github.com:10gen/mongo-enterprise-modules.git
|
|
prefix: src/mongo/db/modules
|
|
branch: master
|
|
|
|
- name: wtdevelop
|
|
repo: git@github.com:wiredtiger/wiredtiger.git
|
|
prefix: src/third_party
|
|
branch: develop
|
|
|
|
#######################################
|
|
# Buildvariants #
|
|
#######################################
|
|
|
|
buildvariants:
|
|
|
|
###########################################
|
|
# Linux buildvariants #
|
|
###########################################
|
|
|
|
- name: linux-64-repeated-execution
|
|
stepback: false
|
|
display_name: ~ Linux Repeated Execution
|
|
run_on:
|
|
- rhel80-small
|
|
expansions:
|
|
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=off --enable-http-client=off
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_http_client
|
|
--repeatSuites=10
|
|
--shuffle
|
|
resmoke_repeat_suites: 10
|
|
# TODO: There are currently 2 ways of repeating suites, one for regular suites and one for
|
|
# generated suites. Once everything is converted to generated suites, we should remove the
|
|
# '--repeatSuites=10' from the test_flags. This will be done in SERVER-38817.
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: .integration !.audit
|
|
distros:
|
|
- rhel80-medium
|
|
- name: jsCore
|
|
- name: jsCore_txns
|
|
- name: .logical_session_cache
|
|
- name: parallel_gen
|
|
- name: .concurrency .common !.kill_terminate
|
|
distros:
|
|
- rhel80-medium
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
|
|
- &linux-64-debug-required-template
|
|
name: linux-64-debug-required
|
|
display_name: "! Shared Library Linux DEBUG"
|
|
batchtime: 240 # 4 hours
|
|
run_on:
|
|
- rhel80-medium
|
|
expansions:
|
|
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
|
|
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=on --enable-http-client=on --link-model=dynamic
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
test_flags: --excludeWithAnyTags=requires_http_client
|
|
target_resmoke_time: 15
|
|
max_sub_suites: 5
|
|
num_scons_link_jobs_available: 0.99
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .aggregation !.encrypt
|
|
- name: .auth !.audit !.gle !.multiversion
|
|
- name: bulk_gle_passthrough
|
|
- name: .causally_consistent !.wo_snapshot
|
|
- name: .change_streams !.secondary_reads
|
|
- name: .misc_js
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: libunwind_tests
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: .ocsp
|
|
- name: .read_write_concern
|
|
- name: .replica_sets !.encrypt
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
- name: .retry
|
|
- name: .read_only
|
|
- name: session_jscore_passthrough
|
|
- name: sharded_multi_stmt_txn_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: sharding_gen
|
|
- name: .stitch
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: server_selection_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
|
|
- <<: *linux-64-debug-required-template
|
|
name: linux-64-debug-wtdevelop
|
|
display_name: "~ Linux DEBUG WiredTiger develop"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- wtdevelop
|
|
expansions:
|
|
use_wt_develop: true
|
|
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
|
|
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=on --enable-http-client=on
|
|
scons_cache_mode: nolinked
|
|
test_flags: --excludeWithAnyTags=requires_http_client
|
|
|
|
- name: linux-64-duroff
|
|
display_name: Linux (No Journal)
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &linux-64-required-duroff-expansions
|
|
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enable-free-mon=off --enable-http-client=off
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: targeted
|
|
# Running WiredTiger with --nojournal in a replica set is no longer supported, so this variant
|
|
# does not include replica set tests. Since transactions are only supported on replica sets, we
|
|
# exclude those tests as well.
|
|
test_flags: --nojournal --excludeWithAnyTags=requires_journaling,requires_replication,requires_sharding,uses_transactions,requires_http_client
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: aggregation_auth
|
|
- name: auth_gen
|
|
- name: bulk_gle_passthrough
|
|
- name: .misc_js !.sharded
|
|
- name: concurrency
|
|
- name: concurrency_simultaneous_gen
|
|
- name: disk_wiredtiger
|
|
- name: failpoints_auth
|
|
- name: .jscore .common !.sharding !.decimal !.txns
|
|
- name: .jstestfuzz .common !.sharding !.repl
|
|
|
|
- name: ubuntu1804
|
|
display_name: Ubuntu 18.04
|
|
run_on:
|
|
- ubuntu1804-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-ubuntu1804
|
|
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: targeted
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: ubuntu1804
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jepsen
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .sharding .txns
|
|
- name: sharding_gen
|
|
- name: sharding_jscore_passthrough
|
|
- name: watchdog_wiredtiger
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu1804-small
|
|
|
|
- name: enterprise-ubuntu1804-64
|
|
display_name: Enterprise Ubuntu 18.04
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-test
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-ubuntu1804
|
|
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: ubuntu1804
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: compile_ninja_next_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: libdeps_graph_linting_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: compile_ninja_TG
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jepsen
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_auth
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .multiversion_fuzzer
|
|
- name: .multiversion_passthrough
|
|
- name: .ocsp
|
|
- name: .random_multiversion_ds
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .watchdog
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu1804-small
|
|
|
|
- name: tla-plus
|
|
display_name: TLA+
|
|
run_on:
|
|
- ubuntu1804-build
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
expansions:
|
|
timeout_secs: 345600 # 4 days
|
|
tasks:
|
|
- name: tla_plus
|
|
|
|
- name: enterprise-ubuntu1804-arm64
|
|
display_name: Enterprise Ubuntu 18.04 arm64
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-arm64-build
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: aarch64-enterprise-ubuntu1804
|
|
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: arm64
|
|
packager_distro: ubuntu1804
|
|
repo_edition: enterprise
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_architecture: arm64
|
|
multiversion_architecture_42_or_later: aarch64
|
|
multiversion_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: aggregation
|
|
- name: aggregation_wildcard_fuzzer_gen
|
|
- name: .auth !.audit !.multiversion !.jscore
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: fle
|
|
- name: .jscore .common !.auth
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: sharding_gen
|
|
- name: sharding_jscore_passthrough
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu1804-test
|
|
|
|
- name: ubuntu1804-arm64
|
|
display_name: Ubuntu 18.04 arm64
|
|
run_on:
|
|
- ubuntu1804-arm64-build
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: aarch64-ubuntu1804
|
|
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: arm64
|
|
packager_distro: ubuntu1804
|
|
repo_edition: org
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_architecture: arm64
|
|
multiversion_architecture_42_or_later: aarch64
|
|
multiversion_edition: targeted
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: free_monitoring
|
|
- name: jsCore
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu1804-test
|
|
|
|
- name: ubuntu2004
|
|
display_name: Ubuntu 20.04
|
|
run_on:
|
|
- ubuntu2004-small
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-ubuntu2004
|
|
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu2004
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: ubuntu2004
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: ubuntu2004-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu2004-large
|
|
- name: .aggfuzzer .common !.multiversion
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
# - name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .sharding .txns
|
|
- name: sharding_gen
|
|
- name: sharding_jscore_passthrough
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu2004-small
|
|
|
|
- name: enterprise-ubuntu2004-64
|
|
display_name: Enterprise Ubuntu 20.04
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu2004-small
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-ubuntu2004
|
|
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu2004
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: ubuntu2004
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: ubuntu2004-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu2004-large
|
|
- name: compile_ninja_next_TG
|
|
distros:
|
|
- ubuntu2004-large
|
|
- name: compile_ninja_TG
|
|
- name: .aggfuzzer .common !.multiversion
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_auth
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .ocsp
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu2004-small
|
|
|
|
- name: enterprise-ubuntu2004-arm64
|
|
display_name: Enterprise Ubuntu 20.04 arm64
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu2004-arm64-large
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: aarch64-enterprise-ubuntu2004
|
|
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: arm64
|
|
packager_distro: ubuntu2004
|
|
repo_edition: enterprise
|
|
multiversion_platform: ubuntu2004
|
|
multiversion_architecture: arm64
|
|
multiversion_architecture_42_or_later: aarch64
|
|
multiversion_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: aggregation
|
|
- name: aggregation_wildcard_fuzzer_gen
|
|
- name: .auth !.audit !.multiversion !.jscore
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: fle
|
|
- name: .jscore .common !.auth
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: sharding_gen
|
|
- name: sharding_jscore_passthrough
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu2004-test
|
|
|
|
- name: ubuntu2004-arm64
|
|
display_name: Ubuntu 20.04 arm64
|
|
run_on:
|
|
- ubuntu2004-arm64-large
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: aarch64-ubuntu2004
|
|
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: arm64
|
|
packager_distro: ubuntu2004
|
|
repo_edition: org
|
|
multiversion_platform: ubuntu2004
|
|
multiversion_architecture: arm64
|
|
multiversion_architecture_42_or_later: aarch64
|
|
multiversion_edition: targeted
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: free_monitoring
|
|
- name: jsCore
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- ubuntu2004-test
|
|
|
|
- name: enterprise-linux-64-amazon-ami
|
|
display_name: "Enterprise Amazon Linux"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- amazon1-2018-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-amzn64
|
|
compile_flags: --ssl MONGO_DISTMOD=amzn64 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: amzn64
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: amazon
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
virtualenv: /opt/mongodbtoolchain/v3/bin/virtualenv
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon1-2018-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.gle !.multiversion
|
|
- name: audit
|
|
- name: bulk_gle_passthrough
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.aggregation
|
|
- name: .jscore .common !.compat
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: powercycle
|
|
- name: .replica_sets .common
|
|
- name: sasl
|
|
- name: serial_run
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: slow1_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- amazon1-2018-small
|
|
|
|
- name: amazon
|
|
display_name: Amazon Linux
|
|
run_on:
|
|
- amazon1-2018-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-amazon
|
|
compile_flags: --ssl MONGO_DISTMOD=amazon -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: amazon
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: amazon
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
virtualenv: /opt/mongodbtoolchain/v3/bin/virtualenv
|
|
large_distro_name: amazon1-2018-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon1-2018-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .sharding .txns
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- amazon1-2018-small
|
|
|
|
- name: enterprise-amazon2
|
|
display_name: "Enterprise Amazon Linux 2"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- amazon2-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
test_flags: >-
|
|
--excludeWithAnyTags=SERVER-34286
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-amazon2
|
|
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: amazon2
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: amazon2
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon2-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: audit
|
|
- name: .auth !.gle !.multiversion
|
|
- name: bulk_gle_passthrough
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.aggregation
|
|
- name: .jscore .common !.compat
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: .replica_sets .common
|
|
- name: sasl
|
|
- name: serial_run
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns !.csrs
|
|
- name: slow1_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- amazon2-small
|
|
|
|
- name: amazon2
|
|
display_name: Amazon Linux 2
|
|
run_on:
|
|
- amazon2-test
|
|
expansions:
|
|
test_flags: >-
|
|
--excludeWithAnyTags=SERVER-34286
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-amazon2
|
|
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: amazon2
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: amazon2
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: amazon-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon2-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .sharding .txns
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- amazon2-small
|
|
|
|
- name: enterprise-amazon2-arm64
|
|
display_name: "Enterprise Amazon Linux 2 arm64"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- amazon2-arm64-small
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: aarch64-enterprise-amazon2
|
|
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: aarch64
|
|
packager_distro: amazon2
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon2-arm64-large
|
|
- name: .aggfuzzer !.multiversion
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .replica_sets .multi_oplog
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
- name: amazon2-arm64
|
|
display_name: Amazon Linux 2 arm64
|
|
run_on:
|
|
- amazon2-arm64-small
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: aarch64-amazon2
|
|
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: aarch64
|
|
packager_distro: amazon2
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: amazon2-arm64-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- amazon2-arm64-large
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
distros:
|
|
- amazon2-arm64-large
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs !.multiversion
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
- name: stm-daily-cron
|
|
modules:
|
|
- enterprise
|
|
display_name: "~ STM Daily Cron"
|
|
run_on:
|
|
- rhel80-small
|
|
expansions:
|
|
multiversion_platform: amazon2
|
|
multiversion_edition: enterprise
|
|
stepback: false
|
|
tasks:
|
|
- name: lint_fuzzer_sanity_all
|
|
- name: powercycle_smoke_skip_compile
|
|
distros:
|
|
- amazon2-test
|
|
|
|
- name: security-daily-cron
|
|
modules:
|
|
- enterprise
|
|
display_name: "~ Security Daily Cron"
|
|
run_on:
|
|
- rhel80-small
|
|
stepback: false
|
|
tasks:
|
|
- name: blackduck_scanner
|
|
|
|
###########################################
|
|
# Windows buildvariants #
|
|
###########################################
|
|
|
|
- name: windows-debug-suggested
|
|
display_name: "* Windows DEBUG"
|
|
batchtime: 240 # 4 hours
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
exe: ".exe"
|
|
content_type: application/zip
|
|
compile_flags: --dbg=on --opt=on --win-version-min=win10 -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) MONGO_DISTMOD=windows
|
|
python: '/cygdrive/c/python/python37/python.exe'
|
|
ext: zip
|
|
scons_cache_scope: shared
|
|
multiversion_platform: windows
|
|
multiversion_edition: enterprise
|
|
large_distro_name: windows-vsCurrent-large
|
|
test_flags: &windows_common_test_excludes --excludeWithAnyTags=incompatible_with_windows_tls
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: compile_build_tools_next_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: .aggregation !.auth !.encrypt
|
|
- name: aggregation_expression_multiversion_fuzzer_gen
|
|
- name: aggregation_expression_optimization_fuzzer_gen
|
|
- name: auth_gen
|
|
- name: bulk_gle_passthrough
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams !.secondary_reads
|
|
- name: .misc_js !.non_win_dbg
|
|
- name: .concurrency .debug_only
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.audit
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .jscore .common !.auth !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: .read_write_concern !.large
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: .replica_sets !.large !.encrypt !.auth
|
|
- name: .replica_sets .large
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .resharding_fuzzer
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: session_jscore_passthrough
|
|
- name: sharding_gen
|
|
- name: .stitch
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
|
|
- &enterprise-windows-required-template
|
|
name: enterprise-windows-required
|
|
display_name: "! Enterprise Windows"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
burn_in_tests_build_variant: enterprise-windows-suggested
|
|
exe: ".exe"
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
target_resmoke_time: 20
|
|
max_sub_suites: 5
|
|
large_distro_name: windows-vsCurrent-large
|
|
push_path: windows
|
|
push_bucket: downloads.10gen.com
|
|
push_name: windows
|
|
push_arch: x86_64-enterprise
|
|
test_flags: *windows_common_test_excludes
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: compile_build_tools_next_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: burn_in_tests_gen
|
|
- name: buildscripts_test
|
|
- name: noPassthrough_gen
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
- name: compile_run_and_archive_dbtest_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
|
|
- <<: *enterprise-windows-required-template
|
|
name: enterprise-windows-all-feature-flags-required
|
|
display_name: "! Enterprise Windows (all feature flags)"
|
|
batchtime: 240 # 4 hours
|
|
expansions:
|
|
burn_in_tests_build_variant: enterprise-windows-suggested
|
|
exe: ".exe"
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
target_resmoke_time: 20
|
|
max_sub_suites: 5
|
|
large_distro_name: windows-vsCurrent-large
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--runAllFeatureFlagTests
|
|
--excludeWithAnyTags=incompatible_with_windows_tls
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: compile_build_tools_next_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: burn_in_tests_gen
|
|
- name: noPassthrough_gen
|
|
# Disabling as the following tests are not aware of feature flags.
|
|
# - name: buildscripts_test
|
|
# - name: server_discovery_and_monitoring_json_test_TG
|
|
# - name: server_selection_json_test_TG
|
|
# - name: compile_run_and_archive_dbtest_TG
|
|
# distros:
|
|
# - windows-vsCurrent-xlarge
|
|
# - name: unittest_shell_hang_analyzer_gen
|
|
|
|
- &enterprise-windows-suggested-template
|
|
name: enterprise-windows-suggested
|
|
display_name: "* Enterprise Windows"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
exe: ".exe"
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
target_resmoke_time: 20
|
|
max_sub_suites: 3
|
|
large_distro_name: windows-vsCurrent-large
|
|
push_path: windows
|
|
push_bucket: downloads.10gen.com
|
|
push_name: windows
|
|
push_arch: x86_64-enterprise
|
|
test_flags: *windows_common_test_excludes
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: buildscripts_test
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: external_auth_windows
|
|
distros:
|
|
- windows-64-2016
|
|
- name: .jscore .common !.compat !.sharding
|
|
- name: jsCore_auth
|
|
- name: jsCore_ese
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: mqlrun
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: powercycle_kill_mongod_smoke
|
|
- name: powercycle_smoke
|
|
- name: .replica_sets .common
|
|
- name: .replica_sets .multi_oplog
|
|
- name: replica_sets_ese_gen
|
|
- name: sasl
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
- name: .sharding .txns
|
|
- name: sharding_auth_gen
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_ese_gen
|
|
- name: snmp
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
|
|
- <<: *enterprise-windows-suggested-template
|
|
name: enterprise-windows-all-feature-flags-suggested
|
|
display_name: "* Enterprise Windows (all feature flags)"
|
|
batchtime: 240 # 4 hours
|
|
expansions:
|
|
exe: ".exe"
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
target_resmoke_time: 20
|
|
max_sub_suites: 3
|
|
large_distro_name: windows-vsCurrent-large
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--runAllFeatureFlagTests
|
|
--excludeWithAnyTags=incompatible_with_windows_tls
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-xlarge
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: external_auth_windows
|
|
distros:
|
|
- windows-64-2016
|
|
- name: .jscore .common !.compat !.sharding
|
|
- name: jsCore_auth
|
|
- name: jsCore_ese
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: mqlrun
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: .replica_sets .common
|
|
- name: .replica_sets .multi_oplog
|
|
- name: replica_sets_ese_gen
|
|
- name: sasl
|
|
- name: .sharding .txns
|
|
- name: sharding_auth_gen
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_ese_gen
|
|
- name: snmp
|
|
# Disabling as the following tests are not aware of feature flags.
|
|
# - name: buildscripts_test
|
|
# - name: unittest_shell_hang_analyzer_gen
|
|
# - name: server_selection_json_test_TG
|
|
# - name: server_discovery_and_monitoring_json_test_TG
|
|
|
|
- <<: *enterprise-windows-nopush-template
|
|
name: enterprise-windows-benchmarks
|
|
display_name: "~ Enterprise Windows (Benchmarks)"
|
|
tasks:
|
|
- name: compile_benchmarks
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .benchmarks
|
|
|
|
- <<: *enterprise-windows-nopush-template
|
|
name: enterprise-windows-wtdevelop
|
|
display_name: "~ Enterprise Windows WiredTiger develop"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
- wtdevelop
|
|
expansions:
|
|
<<: *enterprise-windows-nopush-expansions-template
|
|
use_wt_develop: true
|
|
|
|
- name: enterprise-windows-inmem
|
|
display_name: Enterprise Windows (inMemory)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi
|
|
exe: ".exe"
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --win-version-min=win10
|
|
num_scons_link_jobs_available: 0.5
|
|
python: '/cygdrive/c/python/python37/python.exe'
|
|
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling,incompatible_with_windows_tls
|
|
ext: zip
|
|
scons_cache_scope: shared
|
|
multiversion_platform: windows
|
|
multiversion_edition: enterprise
|
|
large_distro_name: windows-vsCurrent-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .concurrency .common
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .jscore .common !.decimal !.compat !.sharding
|
|
- name: .jstestfuzz .common !.flow_control # Flow control jstestfuzz take longer.
|
|
- name: .read_write_concern .linearize !.durable_history
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: replica_sets_multi_stmt_txn_jscore_passthrough
|
|
- name: sasl
|
|
- name: .sharding .txns
|
|
- name: sharding_auth_gen
|
|
- name: sharding_auth_audit_gen
|
|
- name: snmp
|
|
- name: .ssl
|
|
- name: .resharding_fuzzer
|
|
|
|
- name: windows
|
|
display_name: Windows
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
additional_package_targets: msi
|
|
exe: ".exe"
|
|
push_path: windows
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: windows
|
|
push_arch: x86_64
|
|
multiversion_platform: windows_x86_64-2008plus-ssl
|
|
multiversion_platform_42_or_later: windows_x86_64-2012plus
|
|
multiversion_platform_44_or_later: windows
|
|
multiversion_edition: base
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows -j$(( $(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
|
|
large_distro_name: windows-vsCurrent-large
|
|
test_flags: *windows_common_test_excludes
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .aggfuzzer
|
|
- name: .aggregation !.auth !.encrypt !.unwind
|
|
- name: auth_gen
|
|
- name: .auth .gle
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
# Some concurrency workloads require a lot of memory, so we use machines
|
|
# with more RAM for these suites.
|
|
- name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .concurrency .common
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common !.auth
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.initsync !.flow_control !.stepdowns
|
|
- name: multiversion_gen
|
|
- name: multiversion_auth_gen
|
|
- name: powercycle_kill_mongod
|
|
- name: .query_fuzzer
|
|
- name: .read_write_concern
|
|
- name: replica_sets
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: push
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: enterprise-windows
|
|
display_name: "Enterprise Windows"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
exe: ".exe"
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug
|
|
content_type: application/zip
|
|
compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
target_resmoke_time: 20
|
|
max_sub_suites: 3
|
|
large_distro_name: windows-vsCurrent-large
|
|
push_path: windows
|
|
push_bucket: downloads.10gen.com
|
|
push_name: windows
|
|
push_arch: x86_64-enterprise
|
|
test_flags: *windows_common_test_excludes
|
|
exec_timeout_secs: 14400 # 3 hour timeout
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .aggfuzzer
|
|
- name: .aggregation !.auth !.encrypt !.unwind
|
|
- name: auth_gen
|
|
- name: .auth .gle
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
# Some concurrency workloads require a lot of memory, so we use machines
|
|
# with more RAM for these suites.
|
|
- name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: .concurrency .common
|
|
- name: disk_wiredtiger
|
|
- name: .jscore .common !.auth
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.initsync !.flow_control !.stepdowns
|
|
- name: multiversion_gen
|
|
- name: multiversion_auth_gen
|
|
- name: powercycle_kill_mongod
|
|
- name: .query_fuzzer
|
|
- name: .read_write_concern
|
|
- name: replica_sets
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: push
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: enterprise-windows-debug-unoptimized
|
|
display_name: Enterprise Windows DEBUG (Unoptimized)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
exe: ".exe"
|
|
content_type: application/zip
|
|
compile_flags: --dbg=on --opt=off --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(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
|
|
test_flags: *windows_common_test_excludes
|
|
tasks:
|
|
# This variant tests that unoptimized, DEBUG mongos and mongod binaries can run on Windows.
|
|
# It has a minimal amount of tasks because unoptimized builds are slow, which causes
|
|
# timing-sensitive tests to fail.
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: compile_ninja_next_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|
|
- name: audit
|
|
# Do not add more tasks to this list.
|
|
|
|
###########################################
|
|
# OSX buildvariants #
|
|
###########################################
|
|
|
|
- name: macos
|
|
display_name: macOS
|
|
run_on:
|
|
- macos-1014
|
|
expansions:
|
|
test_flags: --excludeWithAnyTags=incompatible_with_macos
|
|
push_path: osx
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: macos
|
|
push_arch: x86_64
|
|
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
|
|
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars
|
|
resmoke_jobs_max: 6
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_build_tools_next_TG
|
|
- name: .aggregation !.auth !.encrypt !.unwind
|
|
- name: .auth .gle
|
|
- name: auth_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams !.secondary_reads
|
|
- name: .misc_js
|
|
- name: .concurrency !.ubsan !.no_txns !.debug_only !.kill_terminate
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .jscore .common !.auth
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .causal
|
|
- name: .jstestfuzz .interrupt
|
|
- name: .jstestfuzz .common
|
|
- name: .jstestfuzz .session
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .query_fuzzer
|
|
- name: .read_write_concern !.linearize
|
|
- name: replica_sets
|
|
- name: replica_sets_kill_secondaries_jscore_passthrough
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: .replica_sets .common !.auth
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: .rollbackfuzzer
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: push
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- &macos-debug-template
|
|
name: macos-debug-suggested
|
|
display_name: "* Shared Library macOS DEBUG"
|
|
batchtime: 240 # 4 hours
|
|
run_on:
|
|
- macos-1014
|
|
expansions: &macos-debug-expansions
|
|
test_flags: --excludeWithAnyTags=incompatible_with_macos
|
|
resmoke_jobs_max: 6
|
|
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
|
|
compile_flags: --ssl --dbg=on --opt=on -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars --link-model=dynamic
|
|
num_scons_link_jobs_available: 0.99
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_build_tools_next_TG
|
|
- name: aggregation
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: disk_wiredtiger
|
|
- name: failpoints
|
|
- name: .jscore .common !.auth !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: mongosTest
|
|
- name: replica_sets
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
|
|
- name: enterprise-macos
|
|
display_name: Enterprise macOS
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- macos-1014
|
|
expansions:
|
|
test_flags: --excludeWithAnyTags=incompatible_with_macos
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: osx
|
|
push_bucket: downloads.10gen.com
|
|
push_name: macos
|
|
push_arch: x86_64-enterprise
|
|
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
|
|
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars
|
|
resmoke_jobs_max: 6
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_ninja_next_TG
|
|
- name: libdeps_graph_linting_TG
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: mqlrun
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: push
|
|
distros:
|
|
- rhel70-small
|
|
|
|
###########################################
|
|
# Embedded SDK buildvariants #
|
|
###########################################
|
|
|
|
- name: embedded-sdk-macos
|
|
display_name: "Embedded SDK - macOS"
|
|
run_on:
|
|
- macos-1014
|
|
batchtime: 10080 # 7 days
|
|
expansions:
|
|
test_flags: --excludeWithAnyTags=uses_transactions,incompatible_with_macos
|
|
cmake_path: /Applications/cmake-3.11.0-Darwin-x86_64/CMake.app/Contents/bin/cmake
|
|
compile_env: DEVELOPER_DIR=/Applications/Xcode10.2.app
|
|
compile_flags: >-
|
|
--lto
|
|
--variables-files=etc/scons/xcode_macosx.vars
|
|
-j$(sysctl -n hw.logicalcpu)
|
|
LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
|
|
cdriver_cmake_osx_deployment_target: "10.14"
|
|
cdriver_cmake_flags: >-
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)"
|
|
-DCMAKE_OSX_ARCHITECTURES=x86_64
|
|
-DENABLE_SSL=DARWIN
|
|
-DENABLE_ZLIB=BUNDLED
|
|
-DCMAKE_C_FLAGS="-Wunguarded-availability"
|
|
-DCMAKE_INSTALL_RPATH=@loader_path/../lib
|
|
disable_unit_tests: true
|
|
tasks:
|
|
- name: embedded_sdk_build_and_test
|
|
|
|
- name: embedded-sdk-ubuntu-1804-x86_64
|
|
display_name: "Embedded SDK - Ubuntu 18.04 x86_64"
|
|
run_on:
|
|
- ubuntu1804-build
|
|
expansions:
|
|
test_flags: --excludeWithAnyTags=uses_transactions
|
|
# We need --allocator=system here to work around SERVER-27675
|
|
compile_flags: >-
|
|
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
|
|
cdriver_cmake_flags: >-
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
-DCMAKE_C_COMPILER=/opt/mongodbtoolchain/v3/bin/gcc
|
|
-DCMAKE_CXX_COMPILER=/opt/mongodbtoolchain/v3/bin/g++
|
|
-DCMAKE_C_FLAGS="-flto"
|
|
-DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib
|
|
disable_unit_tests: true
|
|
tasks:
|
|
- name: embedded_sdk_build_and_test
|
|
|
|
###########################################
|
|
# Redhat buildvariants #
|
|
###########################################
|
|
|
|
- name: enterprise-rhel-80-64-bit
|
|
display_name: "Enterprise RHEL 8.0"
|
|
batchtime: 1440 # 1 day
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &enterprise-rhel-80-64-bit-expansions
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-rhel80
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: rhel80
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
jstestfuzz_num_generated_files: 40
|
|
jstestfuzz_concurrent_num_files: 10
|
|
target_resmoke_time: 10
|
|
max_sub_suites: 3
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: .aggfuzzer
|
|
- name: .aggregation
|
|
- name: audit
|
|
- name: .auth
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
|
|
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
|
|
distros:
|
|
- rhel80-medium
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: idl_tests
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
|
|
- name: libunwind_tests
|
|
- name: mqlrun
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_gen
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_write_concern !.large
|
|
- name: .replica_sets !.encrypt !.auth
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .resharding_fuzzer
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: server_selection_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
|
|
- &enterprise-rhel-80-64-bit-dynamic-required-template
|
|
name: enterprise-rhel-80-64-bit-dynamic-required
|
|
display_name: "! Shared Library Enterprise RHEL 8.0"
|
|
batchtime: 240 # 4 hour
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &enterprise-rhel-80-64-bit-dynamic-required-expansions
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
jstestfuzz_num_generated_files: 40
|
|
jstestfuzz_concurrent_num_files: 10
|
|
target_resmoke_time: 10
|
|
max_sub_suites: 5
|
|
large_distro_name: rhel80-medium
|
|
burn_in_tag_buildvariants: enterprise-rhel-80-64-bit-inmem linux-64-duroff enterprise-rhel-80-64-bit-multiversion
|
|
num_scons_link_jobs_available: 0.99
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: lint_pylinters
|
|
- name: lint_clang_format
|
|
- name: lint_eslint
|
|
- name: lint_cpplint
|
|
- name: lint_fuzzer_sanity_patch
|
|
- name: lint_yaml
|
|
- name: lint_shellscripts
|
|
- name: lint_errorcodes
|
|
- name: test_api_version_compatibility
|
|
- name: burn_in_tests_gen
|
|
- name: burn_in_tests_multiversion_gen
|
|
- name: .aggfuzzer
|
|
- name: .aggregation
|
|
- name: audit
|
|
- name: .auth
|
|
- name: burn_in_tags_gen
|
|
- name: buildscripts_test
|
|
- name: resmoke_end2end_tests
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
|
|
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
|
|
distros:
|
|
- rhel80-medium
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: idl_tests
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration
|
|
distros:
|
|
- rhel80-medium
|
|
- name: jsCore
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .jscore .common !jsCore
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
|
|
- name: libunwind_tests
|
|
- name: multiversion_sanity_check_gen
|
|
- name: mqlrun
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_gen
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_write_concern !.large
|
|
- name: .replica_sets !.encrypt !.auth
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: server_selection_json_test_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
|
|
- name: enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required
|
|
display_name: "! Shared Library Enterprise RHEL 8.0 (all feature flags)"
|
|
batchtime: 240 # 4 hour
|
|
stepback: false
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-expansions
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
jstestfuzz_num_generated_files: 40
|
|
jstestfuzz_concurrent_num_files: 10
|
|
target_resmoke_time: 10
|
|
max_sub_suites: 5
|
|
large_distro_name: rhel80-medium
|
|
num_scons_link_jobs_available: 0.99
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: --runAllFeatureFlagTests
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- rhel80-large
|
|
# Disabling as the following tests are not aware of feature flags.
|
|
# - name: compile_test_and_package_parallel_unittest_stream_TG
|
|
# distros:
|
|
# - rhel80-large
|
|
# - name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
# distros:
|
|
# - rhel80-medium
|
|
- name: libdeps_graph_linting_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: burn_in_tests_gen
|
|
- name: .aggfuzzer
|
|
- name: .aggregation
|
|
- name: audit
|
|
- name: .auth
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
|
|
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
|
|
distros:
|
|
- rhel80-medium
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: feature_flag_multiversion_gen
|
|
- name: idl_tests
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
|
|
- name: libunwind_tests
|
|
- name: mqlrun
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_gen
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_write_concern !.large
|
|
- name: .replica_sets !.encrypt !.auth
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common
|
|
- name: sharded_multi_stmt_txn_jscore_passthrough
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .tenant_migration
|
|
- name: .updatefuzzer
|
|
- name: secondary_reads_passthrough_gen
|
|
# Disabling as the following tests are not aware of feature flags.
|
|
# - name: server_discovery_and_monitoring_json_test_TG
|
|
# distros:
|
|
# - rhel80-large
|
|
# - name: server_selection_json_test_TG
|
|
# distros:
|
|
# - rhel80-large
|
|
|
|
- name: enterprise-rhel-80-64-bit-dynamic-sbe
|
|
display_name: "Shared Library Enterprise RHEL 8.0 (SBE)"
|
|
batchtime: 1440 # 1 day
|
|
stepback: false
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &enterprise-rhel-80-64-bit-dynamic-sbe-expansions
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
jstestfuzz_num_generated_files: 40
|
|
jstestfuzz_concurrent_num_files: 10
|
|
target_resmoke_time: 10
|
|
max_sub_suites: 5
|
|
large_distro_name: rhel80-medium
|
|
num_scons_link_jobs_available: 0.99
|
|
test_flags: >-
|
|
--additionalFeatureFlags=featureFlagSBE
|
|
--additionalFeatureFlags=featureFlagTimeseriesCollection
|
|
--excludeWithAnyTags=sbe_incompatible
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- rhel80-large
|
|
# Disable the following tests as they are not aware of feature flags.
|
|
# - name: compile_test_and_package_parallel_unittest_stream_TG
|
|
# distros:
|
|
# - rhel80-large
|
|
# - name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
# distros:
|
|
# - rhel80-medium
|
|
- name: .aggregation !.no_async !.secondary_reads !.sharded !.unwind !aggregation_disabled_optimization
|
|
- name: .aggfuzzer !.multiversion
|
|
- name: .change_streams
|
|
- name: .concurrency !.large !.ubsan !.debug_only
|
|
- name: .jscore !.sharding !.decimal !.compat !cst_jscore_passthrough
|
|
- name: .jstestfuzz !.flow_control
|
|
- name: .read_write_concern
|
|
- name: .replica_sets
|
|
- name: .rollbackfuzzer
|
|
- name: causally_consistent_hedged_reads_jscore_passthrough_gen
|
|
- name: causally_consistent_jscore_passthrough_auth_gen
|
|
- name: causally_consistent_jscore_passthrough_gen
|
|
- name: causally_consistent_read_concern_snapshot_passthrough_gen
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
|
|
- name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen
|
|
- name: multi_shard_multi_stmt_txn_stepdown_primary_jscore_passthrough_gen
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: replica_sets_multiversion_gen
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
- name: session_jscore_passthrough
|
|
- name: sharded_causally_consistent_jscore_passthrough_gen
|
|
- name: sharded_collections_jscore_passthrough
|
|
- name: sharding_auth_gen
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_csrs_continuous_config_stepdown_gen
|
|
- name: sharding_ese_gcm_gen
|
|
- name: sharding_ese_gen
|
|
- name: sharding_gen
|
|
- name: sharding_jscore_passthrough
|
|
- name: sharding_jscore_passthrough_wire_ops_gen
|
|
- name: sharding_jscore_op_query_passthrough
|
|
- name: sharding_update_v1_oplog_jscore_passthrough
|
|
- name: sharding_last_lts_mongos_and_mixed_shards_gen
|
|
- name: sharding_max_mirroring_gen
|
|
- name: sharding_multiversion_gen
|
|
- name: sharding_op_query_gen
|
|
- name: sharding_update_v1_oplog_gen
|
|
- name: jsCore_compatibility
|
|
- name: ese
|
|
distros:
|
|
- rhel80-medium
|
|
|
|
- name: enterprise-rhel-80-64-bit-large-txns-format
|
|
display_name: "Enterprise RHEL 8.0 (large transactions format)"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
batchtime: 10080 # 7 days
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
compile_flags: >-
|
|
--ssl
|
|
MONGO_DISTMOD=rhel80
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-medium
|
|
test_flags: >-
|
|
--mongodSetParameters="{maxNumberOfTransactionOperationsInSingleOplogEntry: 2}"
|
|
--excludeWithAnyTags=exclude_from_large_txns
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: auth_gen
|
|
- name: auth_audit_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: change_streams
|
|
- name: change_streams_whole_db_passthrough
|
|
- name: change_streams_whole_cluster_passthrough
|
|
- name: concurrency_replication_gen
|
|
- name: concurrency_replication_multi_stmt_txn
|
|
- name: concurrency_sharded_replication_gen
|
|
- name: concurrency_sharded_replication_with_balancer_gen
|
|
- name: concurrency_sharded_clusterwide_ops_add_remove_shards_gen
|
|
- name: concurrency_sharded_local_read_write_multi_stmt_txn_gen
|
|
- name: concurrency_sharded_local_read_write_multi_stmt_txn_with_balancer_gen
|
|
- name: concurrency_sharded_multi_stmt_txn_gen
|
|
- name: concurrency_sharded_multi_stmt_txn_with_balancer_gen
|
|
- name: concurrency_sharded_multi_stmt_txn_with_stepdowns_gen
|
|
- name: concurrency_sharded_with_stepdowns_gen
|
|
- name: concurrency_sharded_with_stepdowns_and_balancer_gen
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: jsCore
|
|
- name: jsCore_txns
|
|
- name: .logical_session_cache .repl
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_auth_gen
|
|
- name: multiversion_gen
|
|
- name: noPassthrough_gen
|
|
- name: .replica_sets !.multi_oplog !.large
|
|
- name: .replica_sets !.multi_oplog .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .resharding_fuzzer
|
|
- name: .rollbackfuzzer
|
|
- name: .sharding .txns
|
|
- name: sharding_gen
|
|
- name: sharding_auth_gen
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_ese_gen
|
|
- name: sharding_ese_gcm_gen
|
|
- name: sharding_csrs_continuous_config_stepdown_gen
|
|
- name: sharded_multi_stmt_txn_jscore_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
|
|
# This build variant is used to run multiversion tests as part of burn_in_tags as these tests are
|
|
# currently only run on our daily builders.
|
|
- name: enterprise-rhel-80-64-bit-multiversion
|
|
display_name: "Enterprise RHEL 8.0 (implicit multiversion)"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions: &enterprise-rhel-80-64-bit-multiversion
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_fcv_47,requires_fcv_48,requires_fcv_49,requires_fcv_50,multiversion_incompatible
|
|
compile_flags: >-
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--ssl
|
|
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
MONGO_DISTMOD=rhel80
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tooltags: "ssl sasl gssapi"
|
|
build_mongoreplay: true
|
|
large_distro_name: rhel80-medium
|
|
resmoke_jobs_factor: 0.25
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .multiversion_fuzzer
|
|
- name: .multiversion_passthrough
|
|
- name: .random_multiversion_ds
|
|
|
|
- name: enterprise-rhel-80-64-bit-lock-free-reads
|
|
display_name: "Enterprise RHEL 8.0 (Lock Free Reads disabled)"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
batchtime: 1440 # 1 day
|
|
expansions: &enterprise-rhel-80-64-bit-lock-free-reads-expansions
|
|
test_flags: >-
|
|
--mongodSetParameters="{featureFlagLockFreeReads: false}" --excludeWithAnyTags=incompatible_with_lockfreereads
|
|
compile_flags: >-
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--ssl
|
|
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
MONGO_DISTMOD=rhel80
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
build_mongoreplay: false
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: .aggfuzzer
|
|
- name: .aggregation
|
|
- name: audit
|
|
- name: .auth
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.large !.ubsan !.no_txns !.debug_only
|
|
- name: .concurrency .large !.ubsan !.no_txns !.debug_only
|
|
distros:
|
|
- rhel80-medium
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer.
|
|
- name: libunwind_tests
|
|
- name: mqlrun
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_gen
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_write_concern !.large
|
|
- name: .replica_sets !.encrypt !.auth
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_jscore_passthrough_gen
|
|
- name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: replica_sets_reconfig_kill_primary_jscore_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: server_selection_json_test_TG
|
|
distros:
|
|
- rhel80-large
|
|
|
|
- name: rhel-80-64-bit-nossl
|
|
display_name: "RHEL 8.0 Shared Library (No SSL)"
|
|
run_on:
|
|
- rhel80-small
|
|
batchtime: 1440 # 1 day
|
|
expansions:
|
|
compile_flags: >-
|
|
-j$(grep -c ^processor /proc/cpuinfo)
|
|
--ssl=off
|
|
--variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
MONGO_DISTMOD=rhel80
|
|
--link-model=dynamic
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
scons_cache_scope: shared
|
|
build_mongoreplay: false
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: jsCore
|
|
|
|
|
|
- name: enterprise-rhel-80-64-bit-coverage
|
|
display_name: "~ Enterprise RHEL 8.0 DEBUG Code Coverage"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-medium
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
compile_flags: --dbg=on --gcov --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
|
|
# The gcov instrumentation saves the path the .gcno files were created in as the default path
|
|
# for the .gcda files. In Evergreen the path will start with /data/mci/[Hashed ID]/src/... where
|
|
# the hashed ID is unique per task run. GCOV_PREFIX_STRIP is the number of directory levels to
|
|
# strip from the top of the default path before appending to the GCOV_PREFIX (if any).
|
|
gcov_environment: GCOV_PREFIX=$(pwd) GCOV_PREFIX_STRIP=4
|
|
# Mixing --cache and --gcov doesn't work correctly yet. See SERVER-11084
|
|
exec_timeout_secs: 14400 # 4 hour timeout
|
|
use_scons_cache: false
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: .aggregation !.unwind
|
|
- name: audit
|
|
- name: .auth
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.ubsan !.no_txns !.stepdowns !.kill_terminate
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .multi_shard .common
|
|
- name: multiversion_gen
|
|
- name: .multiversion_fuzzer
|
|
- name: .multiversion_passthrough
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern
|
|
- name: .replica_sets
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: .sharding .common
|
|
- name: snmp
|
|
- name: .updatefuzzer
|
|
|
|
# The following build variant is meant to provide a baseline to measure how much overhead we
|
|
# are spending when we split tasks into multiple sub-tasks.
|
|
- name: enterprise-rhel-80-64-bit-single-task-baseline
|
|
display_name: "Enterprise RHEL 8.0 (Single Task Baseline)"
|
|
batchtime: 10080 # 1 week.
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions:
|
|
<<: *enterprise-rhel-80-64-bit-expansions
|
|
max_sub_suites: 1 # Only generate 1 sub-suite per task.
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .aggregation
|
|
- name: .auth
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .causally_consistent !.sharding
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .encrypt
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache
|
|
- name: .multi_shard
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: multiversion_gen
|
|
- name: .read_write_concern .large
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .read_write_concern !.large
|
|
- name: .replica_sets !.encrypt !.auth
|
|
distros:
|
|
- rhel80-medium
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: .read_only
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .txns
|
|
- name: .sharding .common
|
|
- name: secondary_reads_passthrough_gen
|
|
|
|
- &enterprise-rhel-70-64-bit-template
|
|
name: enterprise-rhel-70-64-bit
|
|
display_name: "Enterprise RHEL 7.0"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel70-small
|
|
expansions: &enterprise-rhel-70-64-bit-expansions-template
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-rhel70
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel70
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: rhel70
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel70
|
|
- name: compile_build_tools_next_TG
|
|
distros:
|
|
- rhel70
|
|
- name: .aggfuzzer
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: config_fuzzer_concurrency
|
|
- name: config_fuzzer_concurrency_replication
|
|
distros:
|
|
- rhel70-large
|
|
- name: config_fuzzer_jsCore
|
|
- name: config_fuzzer_replica_sets_jscore_passthrough
|
|
distros:
|
|
- rhel70-large
|
|
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: libunwind_tests
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .ocsp
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .replica_sets .multi_oplog
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: ubi8
|
|
display_name: "UBI 8"
|
|
run_on:
|
|
- ubi8
|
|
expansions:
|
|
resmoke_jobs_factor: 1
|
|
disable_shared_scons_cache: true
|
|
compile_flags: MONGO_DISTMOD=rhel80 --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
tooltags: ""
|
|
build_mongoreplay: true
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_os_access
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- rhel80-large
|
|
- name: jsCore
|
|
- name: sharding_gen
|
|
- name: replica_sets
|
|
|
|
- &enterprise-rhel-80-64-bit-suggested-template
|
|
name: enterprise-rhel-80-64-bit-suggested
|
|
display_name: "* Enterprise RHEL 8.0"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-build
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-rhel80
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: rhel80
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .aggfuzzer
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: libunwind_tests
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .replica_sets .multi_oplog
|
|
- name: powercycle_kill_mongod_smoke
|
|
- name: powercycle_smoke
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
- name: enterprise-rhel-82-arm64
|
|
display_name: "Enterprise RHEL 8.2 arm64"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel82-arm64-small
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: aarch64-enterprise-rhel82
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: aarch64
|
|
packager_distro: rhel82
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel82-arm64-large
|
|
- name: .aggfuzzer !.multiversion
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .replica_sets .multi_oplog
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
# This variant is to intentionally test uncommon features nightly
|
|
- <<: *enterprise-rhel-70-64-bit-template
|
|
name: enterprise-rhel-70-64-bit-kitchen-sink
|
|
display_name: "~ Enterprise RHEL 7.0"
|
|
batchtime: 1440 # 1 day
|
|
expansions:
|
|
<<: *enterprise-rhel-70-64-bit-expansions-template
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel70
|
|
- name: jsCore
|
|
|
|
- <<: *enterprise-rhel-70-64-bit-template
|
|
name: hot_backups-rhel-70-64-bit
|
|
display_name: "hot_backups RHEL 7.0"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- rhel70
|
|
expansions:
|
|
<<: *enterprise-rhel-70-64-bit-expansions-template
|
|
additional_package_targets: ""
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --enterprise-features=hot_backups
|
|
has_packages: false
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: jsCore
|
|
- name: noPassthroughHotBackups_gen
|
|
|
|
- <<: *enterprise-rhel-70-64-bit-template
|
|
name: enterprise-rhel-70-64-bit-no-libunwind
|
|
display_name: "~ Enterprise RHEL 7.0 (no-libunwind)"
|
|
batchtime: 10080 # 1 week
|
|
run_on:
|
|
- rhel70
|
|
expansions:
|
|
<<: *enterprise-rhel-70-64-bit-expansions-template
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 --use-libunwind=off --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: false
|
|
additional_package_targets: ""
|
|
# Override list of tasks to exclude package testing and publishing
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel70
|
|
- name: .aggfuzzer
|
|
- name: audit
|
|
- name: auth_audit_gen
|
|
- name: auth_gen
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: .replica_sets .multi_oplog
|
|
- name: sasl
|
|
- name: search
|
|
- name: search_auth
|
|
- name: search_ssl
|
|
- name: sharding_auth_audit_gen
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
|
|
- name: ubuntu1804-debug-suggested
|
|
display_name: "* Shared Library Ubuntu 18.04 DEBUG"
|
|
batchtime: 240 # 4 hours
|
|
run_on:
|
|
- ubuntu1804-test
|
|
expansions:
|
|
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
|
|
compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
num_scons_link_jobs_available: 0.99
|
|
large_distro_name: ubuntu1804-large
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: compile_build_tools_next_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: jsCore
|
|
- name: .read_write_concern !.write !.aggregation
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: replica_sets_large_txns_format_jscore_passthrough
|
|
- name: sharded_collections_jscore_passthrough
|
|
- name: sharding_gen
|
|
- name: sharding_auth_gen
|
|
- name: .stitch
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
|
|
- name: ubuntu1804-container
|
|
display_name: "Ubuntu 18.04 Container"
|
|
run_on:
|
|
- ubuntu1804-container-server
|
|
expansions:
|
|
resmoke_jobs_factor: 1
|
|
disable_shared_scons_cache: true
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
tooltags: ""
|
|
build_mongoreplay: true
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_os_access
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: jsCore
|
|
- name: sharding_gen
|
|
- name: replica_sets
|
|
|
|
- name: rhel70
|
|
display_name: RHEL 7.0
|
|
run_on:
|
|
- rhel70-small
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-rhel70
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel70
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: rhel70
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel70
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel70
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
distros:
|
|
- rhel70
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: rhel80
|
|
display_name: RHEL 8.0
|
|
run_on:
|
|
- rhel80-build
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-rhel80
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: rhel80
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-build
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
distros:
|
|
- rhel80-build
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
- name: rhel-82-arm64
|
|
display_name: RHEL 8.2 arm64
|
|
run_on:
|
|
- rhel82-arm64-small
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: aarch64-rhel82
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: aarch64
|
|
packager_distro: rhel82
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel82-arm64-large
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel82-arm64-large
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
distros:
|
|
- rhel82-arm64-large
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs !.multiversion
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- rhel80-small
|
|
|
|
# This variant compiles on RHEL 7.0 and runs tests on RHEL 7.6
|
|
- name: rhel76_compile_rhel70
|
|
display_name: RHEL 7.0/7.6 Cross-ABI
|
|
run_on:
|
|
- rhel76-test
|
|
expansions:
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_then_package_TG
|
|
distros:
|
|
- rhel70
|
|
- name: .ssl
|
|
- name: jsCore
|
|
- name: external_auth
|
|
|
|
- name: enterprise-rhel-81-ppc64le
|
|
display_name: Enterprise RHEL 8.1 PPC64LE
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel81-power8-small
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel81 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_factor: 0.25
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: ppc64le
|
|
packager_distro: rhel81
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: ppc64le-enterprise-rhel81
|
|
repo_edition: enterprise
|
|
multiversion_platform: rhel81
|
|
multiversion_architecture: ppc64le
|
|
multiversion_edition: enterprise
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel81-power8-large
|
|
- name: .aggregation .common
|
|
- name: audit
|
|
- name: .auth !.multiversion !.jscore
|
|
- name: .misc_js
|
|
- name: .encrypt
|
|
- name: .integration !.audit
|
|
distros:
|
|
- rhel81-power8-large
|
|
- name: .jscore .common !.auth
|
|
- name: jsCore_op_query
|
|
- name: .read_write_concern
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: sasl
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.multiversion
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .publish
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: enterprise-rhel-72-s390x-compile
|
|
display_name: Enterprise RHEL 7.2 s390x Compile
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel72-zseries-test
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
release_buid: true
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 2
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: s390x
|
|
packager_distro: rhel72
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: s390x-enterprise-rhel72
|
|
repo_edition: enterprise
|
|
multiversion_platform: rhel72
|
|
multiversion_architecture: s390x
|
|
multiversion_edition: enterprise
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel72-zseries-build
|
|
|
|
- name: enterprise-rhel-72-s390x
|
|
display_name: Enterprise RHEL 7.2 s390x
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel72-zseries-test
|
|
batchtime: 525600 # 365 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
release_buid: true
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 2
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: s390x
|
|
packager_distro: rhel72
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: s390x-enterprise-rhel72
|
|
repo_edition: enterprise
|
|
multiversion_platform: rhel72
|
|
multiversion_architecture: s390x
|
|
multiversion_edition: enterprise
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: .aggregation .common
|
|
- name: audit
|
|
- name: .auth !.multiversion !.jscore
|
|
- name: .misc_js
|
|
- name: .encrypt
|
|
- name: .integration !.audit
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: .jscore .common !.auth
|
|
- name: jsCore_op_query
|
|
- name: .read_write_concern
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: sasl
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.multiversion
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .publish
|
|
distros:
|
|
- rhel70-small
|
|
|
|
- name: enterprise-rhel-72-s390x-all-feature-flags
|
|
display_name: Enterprise RHEL 7.2 s390x (all feature flags)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel72-zseries-test
|
|
batchtime: 525600 # 365 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
release_buid: true
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 2
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: s390x
|
|
packager_distro: rhel72
|
|
repo_edition: enterprise
|
|
multiversion_platform: rhel72
|
|
multiversion_architecture: s390x
|
|
multiversion_edition: enterprise
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--runAllFeatureFlagTests
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: jsCore
|
|
- name: replica_sets_jscore_passthrough
|
|
|
|
- name: rhel-72-s390x
|
|
display_name: RHEL 7.2 s390x
|
|
batchtime: 525600 # 365 days
|
|
run_on:
|
|
- rhel72-zseries-test
|
|
expansions:
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: s390x
|
|
packager_distro: rhel72
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: s390x-rhel72
|
|
repo_edition: org
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: jsCore
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: ssl_gen
|
|
- name: .publish
|
|
distros:
|
|
- rhel70-small
|
|
|
|
###########################################
|
|
# Ubuntu buildvariants #
|
|
###########################################
|
|
|
|
- name: enterprise-ubuntu-dynamic-1804-clang-tidy-required
|
|
display_name: "! Enterprise Clang Tidy"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-xlarge
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
compile_flags: --link-model=dynamic -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars
|
|
# Unlike static builds, dynamic builds have no need to
|
|
# constrain the number of link jobs. Unfortunately, --jlink=1
|
|
# means one link job, not 100%. So this is a bit gross but set
|
|
# it to .99.
|
|
num_scons_link_jobs_available: 0.99
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
show_scons_timings: false
|
|
tasks:
|
|
- name: clang_tidy_TG
|
|
|
|
###########################################
|
|
# SUSE buildvariants #
|
|
###########################################
|
|
|
|
- name: enterprise-suse12-64
|
|
display_name: Enterprise SLES 12
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- suse12-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-suse12
|
|
compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: suse12
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: suse12
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- suse12-build
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
|
|
- name: .jscore .common !.compat !.decimal !.sharding
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- suse12-small
|
|
|
|
- name: suse12
|
|
display_name: SUSE 12
|
|
run_on:
|
|
- suse12-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-suse12
|
|
compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: suse12
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: suse12
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: suse12-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- suse12-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common !.large
|
|
- name: .concurrency .common .large
|
|
distros:
|
|
- suse12-build
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common !.decimal
|
|
- name: .jstestfuzz .common
|
|
- name: multiversion_gen
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: .publish
|
|
distros:
|
|
- suse12-small
|
|
|
|
- name: enterprise-suse15-64
|
|
display_name: Enterprise SLES 15
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- suse15-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-suse15
|
|
compile_flags: --ssl MONGO_DISTMOD=suse15 --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: suse15
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- suse15-build
|
|
- name: .aggfuzzer .common !.multiversion
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
|
|
- name: .jscore .common !.decimal !.compat !.sharding
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .publish
|
|
distros:
|
|
- suse15-small
|
|
|
|
- name: suse15
|
|
display_name: SUSE 15
|
|
run_on:
|
|
- suse15-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-suse15
|
|
compile_flags: --ssl MONGO_DISTMOD=suse15 --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: suse15
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: suse15
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: suse15-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- suse15-build
|
|
- name: .aggfuzzer .common !.multiversion
|
|
- name: aggregation
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common !.decimal
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .txns
|
|
- name: .sharding .common !.op_query !.csrs !.multiversion
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: .publish
|
|
distros:
|
|
- suse15-small
|
|
|
|
###########################################
|
|
# Debian buildvariants #
|
|
###########################################
|
|
|
|
- name: enterprise-debian92-64
|
|
display_name: Enterprise Debian 9.2
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- debian92-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-debian92
|
|
compile_flags: --ssl MONGO_DISTMOD=debian92 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: debian92
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: debian92
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: debian92-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- debian92-build
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
|
|
- name: .jscore .common !.decimal !.compat !.sharding
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- debian92-small
|
|
|
|
- name: debian92
|
|
display_name: Debian 9.2
|
|
run_on:
|
|
- debian92-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-debian92
|
|
compile_flags: --ssl MONGO_DISTMOD=debian92 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: debian92
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: debian92
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: debian92-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- debian92-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: aggregation_auth
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common !.decimal
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- debian92-small
|
|
|
|
- name: enterprise-debian10-64
|
|
display_name: Enterprise Debian 10
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- debian10-test
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
|
|
push_path: linux
|
|
push_bucket: downloads.10gen.com
|
|
push_name: linux
|
|
push_arch: x86_64-enterprise-debian10
|
|
compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: debian10
|
|
multiversion_edition: enterprise
|
|
has_packages: true
|
|
packager_script: packager_enterprise.py
|
|
packager_arch: x86_64
|
|
packager_distro: debian10
|
|
repo_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: debian10-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- debian10-build
|
|
- name: .aggfuzzer .common
|
|
- name: audit
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
|
|
- name: .jscore .common !.decimal !.compat !.sharding
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: replica_sets_auth_gen
|
|
- name: replica_sets_jscore_passthrough
|
|
- name: sasl
|
|
- name: sharding_auth_gen
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- debian10-small
|
|
|
|
- name: debian10
|
|
display_name: Debian 10
|
|
run_on:
|
|
- debian10-test
|
|
expansions:
|
|
push_path: linux
|
|
push_bucket: downloads.mongodb.org
|
|
push_name: linux
|
|
push_arch: x86_64-debian10
|
|
compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: debian10
|
|
multiversion_edition: targeted
|
|
has_packages: true
|
|
packager_script: packager.py
|
|
packager_arch: x86_64
|
|
packager_distro: debian10
|
|
repo_edition: org
|
|
scons_cache_scope: shared
|
|
large_distro_name: debian10-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- debian10-build
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: aggregation_auth
|
|
- name: .auth !.audit !.multiversion
|
|
- name: causally_consistent_jscore_txns_passthrough
|
|
- name: .misc_js
|
|
- name: .concurrency .common
|
|
- name: concurrency_replication_causal_consistency_gen
|
|
- name: disk_wiredtiger
|
|
- name: free_monitoring
|
|
- name: .jscore .common !.decimal
|
|
- name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: multiversion_gen
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.op_query !.csrs
|
|
- name: .ssl
|
|
- name: .stitch
|
|
- name: test_packages
|
|
distros:
|
|
- ubuntu2004-package
|
|
- name: .publish
|
|
distros:
|
|
- debian10-small
|
|
|
|
################################
|
|
# storage engine buildvariants #
|
|
################################
|
|
|
|
- name: enterprise-rhel-80-benchmarks
|
|
display_name: Enterprise RHEL 8.0 (Benchmarks)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-medium
|
|
expansions:
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
tasks:
|
|
- name: compile_benchmarks
|
|
- name: .benchmarks
|
|
|
|
- name: enterprise-rhel-80-64-bit-inmem
|
|
display_name: Enterprise RHEL 8.0 (inMemory)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
scons_cache_scope: shared
|
|
large_distro_name: rhel80-medium
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel80-xlarge
|
|
- name: .aggfuzzer .common
|
|
- name: .aggregation !.unwind !.encrypt
|
|
- name: audit
|
|
- name: .auth !.multiversion
|
|
- name: .causally_consistent !.wo_snapshot !.durable_history
|
|
- name: .change_streams !.secondary_reads
|
|
- name: .misc_js
|
|
- name: .concurrency !.ubsan !.no_txns !.debug_only !.kill_terminate
|
|
distros:
|
|
- rhel80-medium # Some workloads require a lot of memory, use a bigger machine for this suite.
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.audit
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .jscore .common !.decimal
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: .jstestfuzz !.initsync
|
|
- name: .logical_session_cache
|
|
- name: .multi_shard .common
|
|
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
|
|
- name: .read_write_concern !.durable_history
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: .replica_sets .multi_oplog
|
|
- name: replica_sets_multi_stmt_txn_jscore_passthrough
|
|
- name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .resharding_fuzzer
|
|
- name: .retry
|
|
- name: rollback_fuzzer_gen
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: sharded_multi_stmt_txn_jscore_passthrough
|
|
distros:
|
|
- rhel80-medium
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.multiversion !.csrs
|
|
- name: snmp
|
|
- name: .ssl
|
|
- name: .updatefuzzer
|
|
|
|
- name: linux-64-ephemeralForTest
|
|
display_name: Linux (ephemeralForTest)
|
|
run_on:
|
|
- rhel80-medium
|
|
expansions:
|
|
# Transactions are not explicitly supported on the ephemeralForTest storage engine.
|
|
# Speculative majority reads are currently only allowed for change streams, which are only supported on WiredTiger.
|
|
# We also relax oplog constraints so that applying oplog entries after a rollbackViaRefetch works correctly.
|
|
# TODO (SERVER-47022): Re-enable oplog constraint enforcement once we set the application mode
|
|
# correctly after rollbackViaRefetch.
|
|
test_flags: >-
|
|
--storageEngine=ephemeralForTest
|
|
--excludeWithAnyTags=requires_persistence,requires_fsync,requires_journaling,requires_wiredtiger,uses_transactions,uses_speculative_majority,requires_snapshot_read,requires_majority_read_concern,uses_change_streams,requires_sharding,incompatible_with_eft
|
|
--mongodSetParameters="{oplogApplicationEnforcesSteadyStateConstraints: false}"
|
|
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: targeted
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: .aggfuzzer .common
|
|
- name: aggregation
|
|
- name: .auth !.multiversion !.audit !.sharding
|
|
- name: .misc_js
|
|
# SERVER-50296: Investigate concurrency test failures.
|
|
# - name: concurrency
|
|
# - name: concurrency_replication_gen
|
|
# - name: concurrency_replication_causal_consistency_gen
|
|
# - name: concurrency_simultaneous_gen
|
|
# - name: concurrency_simultaneous_replication
|
|
- name: .integration !.audit
|
|
- name: .jscore .common !.txns !.decimal
|
|
- name: jsCore_op_query
|
|
# SERVER-50295: Investigate jstestfuzz time outs.
|
|
# - name: .jstestfuzz .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .read_write_concern .linearize
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
# SERVER-49428: Disabled due to writeConcernMajorityJournalDefault is not off
|
|
# rollback_fuzzer_gen
|
|
- name: .updatefuzzer
|
|
|
|
- name: enterprise-rhel-72-s390x-inmem
|
|
display_name: Enterprise RHEL 7.2 s390x (inMemory) DEBUG
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel72-zseries-test
|
|
batchtime: 525600 # 365 days
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
resmoke_jobs_max: 2
|
|
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: .aggregation .common
|
|
- name: .auth !.multiversion
|
|
- name: audit
|
|
- name: .misc_js
|
|
- name: .integration !.audit
|
|
distros:
|
|
- rhel72-zseries-build
|
|
- name: .jscore .common !.decimal
|
|
- name: jsCore_op_query
|
|
- name: .read_write_concern !.durable_history
|
|
- name: replica_sets
|
|
- name: .replica_sets .common
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.multiversion !.csrs
|
|
- name: snmp
|
|
- name: .ssl
|
|
|
|
|
|
###########################################
|
|
# Experimental buildvariants #
|
|
###########################################
|
|
|
|
- &ubuntu1804-debug-asan-template
|
|
name: ubuntu1804-debug-asan
|
|
display_name: ~ ASAN Enterprise Ubuntu 18.04 DEBUG
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
|
|
test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
exec_timeout_secs: 14400 # 3 hour timeout
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_benchmarks
|
|
- name: .aggregation
|
|
- name: .auth
|
|
- name: audit
|
|
- name: .benchmarks
|
|
- name: .causally_consistent !.wo_snapshot
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.ubsan !.no_txns !.kill_terminate
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: free_monitoring
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.standalone !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .logical_session_cache
|
|
- name: .multi_shard .common
|
|
- name: multiversion_gen
|
|
- name: .multiversion_fuzzer
|
|
- name: .multiversion_passthrough
|
|
- name: .query_fuzzer
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: replica_sets_large_txns_format_jscore_passthrough
|
|
- name: .replica_sets !.multi_oplog
|
|
- name: .resharding_fuzzer
|
|
- name: .retry
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: .updatefuzzer
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: .sharding .common !.csrs
|
|
- name: snmp
|
|
- name: .watchdog
|
|
- name: .stitch
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
- name: .updatefuzzer
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
|
|
- <<: *ubuntu1804-debug-asan-template
|
|
name: ubuntu1804-debug-asan-all-feature-flags
|
|
display_name: "~ Shared Library ASAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
exec_timeout_secs: 14400 # 3 hour timeout
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--runAllFeatureFlagTests
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_benchmarks
|
|
- name: .aggregation
|
|
# - name: .auth
|
|
- name: audit
|
|
- name: .causally_consistent !.wo_snapshot
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
# - name: .concurrency !.ubsan !.no_txns !.kill_terminate
|
|
# - name: disk_wiredtiger
|
|
# - name: .encrypt
|
|
- name: free_monitoring
|
|
- name: external_auth
|
|
- name: external_auth_aws
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.standalone !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .logical_session_cache
|
|
- name: .multi_shard .common
|
|
- name: .query_fuzzer
|
|
- name: .read_write_concern
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: replica_sets_large_txns_format_jscore_passthrough
|
|
- name: .replica_sets !.multi_oplog
|
|
- name: .resharding_fuzzer
|
|
- name: .retry
|
|
- name: .read_only
|
|
- name: .rollbackfuzzer
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: .sharding .common !.csrs
|
|
- name: snmp
|
|
- name: .tenant_migration
|
|
- name: .watchdog
|
|
- name: .stitch
|
|
# Disabling the following tests as they are not aware of feature flags.
|
|
# - name: .benchmarks
|
|
# - name: unittest_shell_hang_analyzer_gen
|
|
# - name: server_discovery_and_monitoring_json_test_TG
|
|
# - name: server_selection_json_test_TG
|
|
|
|
- name: ubuntu1804-asan
|
|
display_name: ~ ASAN Ubuntu 18.04
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: true
|
|
expansions:
|
|
lang_environment: LANG=C
|
|
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --opt=on --allocator=system --sanitize=address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo)
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: .aggfuzzer .common
|
|
- name: free_monitoring
|
|
- name: .jstestfuzz !.initsync
|
|
|
|
- &ubuntu1804-debug-ubsan-template
|
|
name: ubuntu1804-debug-ubsan
|
|
display_name: ~ UBSAN Enterprise Ubuntu 18.04 DEBUG
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_benchmarks
|
|
- name: .aggregation
|
|
- name: .auth
|
|
- name: audit
|
|
- name: .benchmarks
|
|
- name: .causally_consistent !.wo_snapshot
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.no_txns !.repl !.kill_terminate
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: free_monitoring
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .multi_shard .common
|
|
- name: multiversion_gen
|
|
- name: .multiversion_fuzzer
|
|
- name: .multiversion_passthrough
|
|
- name: .random_multiversion_ds
|
|
- name: .read_write_concern
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: replica_sets_large_txns_format_jscore_passthrough
|
|
- name: .replica_sets !.multi_oplog
|
|
- name: .resharding_fuzzer
|
|
- name: .retry
|
|
- name: .rollbackfuzzer
|
|
- name: .read_only
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: .sharding .common !.csrs
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .updatefuzzer
|
|
- name: watchdog_wiredtiger
|
|
- name: server_discovery_and_monitoring_json_test_TG
|
|
- name: server_selection_json_test_TG
|
|
|
|
- <<: *ubuntu1804-debug-ubsan-template
|
|
name: ubuntu1804-debug-ubsan-all-feature-flags
|
|
display_name: "~ Shared Library UBSAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off --enable-free-mon=on -j$(grep -c ^processor /proc/cpuinfo)
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_ocsp_stapling
|
|
--runAllFeatureFlagTests
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: compile_benchmarks
|
|
- name: .aggregation
|
|
- name: .auth
|
|
- name: audit
|
|
- name: .causally_consistent !.wo_snapshot
|
|
- name: .change_streams
|
|
- name: .misc_js
|
|
- name: .concurrency !.no_txns !.repl !.kill_terminate
|
|
- name: disk_wiredtiger
|
|
- name: .encrypt
|
|
- name: free_monitoring
|
|
- name: initial_sync_fuzzer_gen
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
- name: jsonSchema
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .multi_shard .common
|
|
- name: .read_write_concern
|
|
- name: replica_sets_large_txns_format_gen
|
|
- name: replica_sets_large_txns_format_jscore_passthrough
|
|
- name: .replica_sets !.multi_oplog
|
|
- name: .resharding_fuzzer
|
|
- name: .retry
|
|
- name: .rollbackfuzzer
|
|
- name: .read_only
|
|
- name: sasl
|
|
- name: secondary_reads_passthrough_gen
|
|
- name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot
|
|
- name: .sharding .common !.csrs
|
|
- name: snmp
|
|
- name: .stitch
|
|
- name: .tenant_migration
|
|
- name: .updatefuzzer
|
|
- name: watchdog_wiredtiger
|
|
# Disabling the following tests as they are not aware of feature flags.
|
|
# - name: .benchmarks
|
|
# - name: server_discovery_and_monitoring_json_test_TG
|
|
# - name: server_selection_json_test_TG
|
|
|
|
- &ubuntu1804-debug-aubsan-lite-required-template
|
|
name: ubuntu1804-debug-aubsan-lite-required
|
|
display_name: "! Shared Library {A,UB}SAN Enterprise Ubuntu 18.04 DEBUG"
|
|
batchtime: 240 # 4 hours
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: true
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) --link-model=dynamic
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
max_sub_suites: 3
|
|
num_scons_link_jobs_available: 0.99
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: compile_test_and_package_parallel_unittest_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: jsCore
|
|
- name: jsCore_txns
|
|
- name: unittest_shell_hang_analyzer_gen
|
|
|
|
- <<: *ubuntu1804-debug-aubsan-lite-required-template
|
|
name: ubuntu1804-debug-aubsan-lite-all-feature-flags-required
|
|
display_name: "! Shared Library {A,UB}SAN Enterprise Ubuntu 18.04 DEBUG (all feature flags)"
|
|
batchtime: 240 # 4 hours
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) --link-model=dynamic
|
|
# To force disable feature flags even on the all feature flags variant, please use this file:
|
|
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
|
|
test_flags: >-
|
|
--excludeWithAnyTags=requires_ocsp_stapling
|
|
--runAllFeatureFlagTests
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
max_sub_suites: 3
|
|
num_scons_link_jobs_available: 0.99
|
|
tasks:
|
|
- name: compile_test_and_package_parallel_core_stream_TG
|
|
distros:
|
|
- ubuntu1804-xlarge
|
|
- name: jsCore
|
|
- name: jsCore_txns
|
|
# Disabling these tests as they are not aware of feature flags.
|
|
# - name: compile_test_and_package_parallel_unittest_stream_TG
|
|
# distros:
|
|
# - ubuntu1804-xlarge
|
|
# - name: compile_test_and_package_parallel_dbtest_stream_TG
|
|
# distros:
|
|
# - ubuntu1804-xlarge
|
|
# - name: unittest_shell_hang_analyzer_gen
|
|
|
|
- name: ubuntu1804-debug-aubsan-lite_fuzzer
|
|
display_name: "{A,UB}SAN Enterprise Ubuntu 18.04 FUZZER"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu1804-build
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate changes are
|
|
# also made to SConstruct.
|
|
san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1" ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
compile_flags: LINKFLAGS=-nostdlib++ LIBS=stdc++ --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined,address,fuzzer --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo)
|
|
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
|
|
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
|
|
hang_analyzer_dump_core: false
|
|
scons_cache_scope: shared
|
|
display_tasks:
|
|
- *libfuzzertests
|
|
tasks:
|
|
- name: compile_archive_and_run_libfuzzertests_TG
|
|
|
|
- name: enterprise-ubuntu2004-debug-tsan
|
|
display_name: ~ TSAN Enterprise Ubuntu 20.04 DEBUG (ephemeralForTest)
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- ubuntu2004-large
|
|
stepback: false
|
|
expansions:
|
|
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
|
|
lang_environment: LANG=C
|
|
# If you add anything to san_options, make sure the appropriate
|
|
# changes are also made to SConstruct.
|
|
#
|
|
# TODO SERVER-49121: die_after_fork=0 is a temporary setting to
|
|
# allow tests to continue while we figure out why we're running
|
|
# afoul of it.
|
|
#
|
|
# TODO SERVER-48490: report_thread_leaks=0 suppresses reporting
|
|
# thread leaks, which we have because we don't do a clean shutdown
|
|
# of the ServiceContext.
|
|
#
|
|
san_options: TSAN_OPTIONS="halt_on_error=1:report_thread_leaks=0:die_after_fork=0:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer"
|
|
# TODO: Remove some of the excluded tags when the ephemeralForTest storage engine is
|
|
# further along in development: https://jira.mongodb.org/browse/SERVER-48325
|
|
test_flags: --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_journaling,uses_transactions,requires_wiredtiger,requires_snapshot_read,requires_majority_read_concern
|
|
compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --allocator=system --sanitize=thread --ssl --enable-free-mon=on --use-libunwind=off -j$(grep -c ^processor /proc/cpuinfo)
|
|
# Avoid starting too many mongod's under TSAN build.
|
|
resmoke_jobs_factor: 0.3
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
- name: jsCore
|
|
|
|
- name: enterprise-ubuntu-unoptimized-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (without Diagnostic Latches)"
|
|
batchtime: 1440 # 1 day
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --use-diagnostic-latches=off
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
|
|
- name: enterprise-ubuntu-no-latch-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 DEBUG (Unoptimized)"
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --dbg=on --opt=off --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --detect-odr-violations
|
|
scons_cache_scope: shared
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
|
|
- name: enterprise-ubuntu-fixed-service-executor-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with FixedServiceExecutor)"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: >-
|
|
--mongosSetParameters="{initialServiceExecutorThreadingModel: borrowed}"
|
|
--mongodSetParameters="{initialServiceExecutorThreadingModel: borrowed}"
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: noPassthrough_gen
|
|
- name: noPassthroughWithMongod_gen
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: enterprise-ubuntu-sdam-replica-set-monitor-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with SdamReplicaSetMonitor)"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: >-
|
|
--mongosSetParameters="{replicaSetMonitorProtocol: sdam}"
|
|
--mongodSetParameters="{replicaSetMonitorProtocol: sdam}"
|
|
--excludeWithAnyTags=requires_streamable_rsm
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: enterprise-ubuntu-task-executor-pool-size-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with {taskExecutorPoolSize: 4})"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: |- # Set the taskExecutorPoolSize for all tests
|
|
--mongosSetParameters="taskExecutorPoolSize: 4"
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-matchPrimary-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"matchPrimaryNode\"})"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: >-
|
|
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"matchPrimaryNode\""
|
|
--excludeWithAnyTags=sets_replica_set_matching_strategy
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-matchBusiest-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"matchBusiestNode\"})"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: >-
|
|
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"matchBusiestNode\""
|
|
--excludeWithAnyTags=sets_replica_set_matching_strategy
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: enterprise-ubuntu-sharding-task-executor-pool-rsm-disabled-1804-64-bit
|
|
display_name: "~ Enterprise Ubuntu 18.04 (with {ShardingTaskExecutorPoolReplicaSetMatching: \"disabled\"})"
|
|
batchtime: 1440 # 1 day
|
|
run_on:
|
|
- ubuntu1804-test
|
|
modules:
|
|
- enterprise
|
|
expansions:
|
|
scons_cache_scope: shared
|
|
compile_flags: MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
|
|
multiversion_platform: ubuntu1804
|
|
multiversion_edition: enterprise
|
|
test_flags: >-
|
|
--mongosSetParameters="ShardingTaskExecutorPoolReplicaSetMatching: \"disabled\""
|
|
--excludeWithAnyTags=sets_replica_set_matching_strategy
|
|
large_distro_name: ubuntu1804-build
|
|
tasks:
|
|
- name: compile_test_and_package_serial_TG
|
|
distros:
|
|
- ubuntu1804-build
|
|
- name: .aggregation !.no_async
|
|
- name: .sharding .auth
|
|
- name: .sharding .causally_consistent !.wo_snapshot
|
|
- name: .concurrency .common !.kill_terminate
|
|
- name: .integration !.audit
|
|
- name: .jscore .common
|
|
- name: .logical_session_cache .one_sec
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
- name: .sharding .common !.csrs
|
|
|
|
- name: shared-scons-cache-pruning
|
|
display_name: "Shared SCons Cache Pruning"
|
|
run_on:
|
|
- ubuntu1604-test
|
|
stepback: false
|
|
tasks:
|
|
- name: shared_scons_cache_pruning
|
|
|
|
- name: windows-shared-scons-cache-pruning
|
|
display_name: "Windows shared SCons Cache Pruning"
|
|
run_on:
|
|
- windows-vsCurrent-small
|
|
stepback: false
|
|
tasks:
|
|
- name: win_shared_scons_cache_pruning
|
|
|
|
- name: selected-tests
|
|
display_name: "~ Selected Tests"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
expansions:
|
|
selected_tests_buildvariants: enterprise-windows-required linux-64-debug-required enterprise-ubuntu-dynamic-1604-clang ubuntu1804-debug-aubsan-lite-required
|
|
tasks:
|
|
- name: selected_tests_gen
|
|
|
|
- name: commit-queue
|
|
display_name: "~ Commit Queue"
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-small
|
|
batchtime: 10080 # 7 days
|
|
stepback: false
|
|
tasks:
|
|
- name: validate_commit_message
|
|
- name: check_for_todos
|
|
|
|
- name: live-record
|
|
display_name: "~ RHEL 8.0 Shared Library (with UndoDB live-record)"
|
|
batchtime: 1440 # 1 day
|
|
stepback: false
|
|
modules:
|
|
- enterprise
|
|
run_on:
|
|
- rhel80-medium
|
|
expansions:
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
|
|
multiversion_platform: rhel80
|
|
multiversion_edition: enterprise
|
|
has_packages: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
target_resmoke_time: 10
|
|
max_sub_suites: 3
|
|
large_distro_name: rhel80-medium
|
|
num_scons_link_jobs_available: 0.99
|
|
record_with: --recordWith /opt/undodb5/bin/live-record
|
|
resmoke_jobs_factor: 0.3
|
|
exec_timeout_secs: 28800 # 8 hours
|
|
test_flags: --excludeWithAnyTags=requires_fast_memory,live_record_incompatible
|
|
tasks:
|
|
- name: compile_and_archive_dist_test_TG
|
|
- name: .aggfuzzer
|
|
- name: .aggregation
|
|
# - name: audit
|
|
# - name: .auth !.multiversion !.non_live_record
|
|
# - name: .causally_consistent !.sharding
|
|
# - name: .change_streams
|
|
# - name: .misc_js !.non_live_record
|
|
- name: .concurrency !.ubsan !.no_txns !.debug_only !.stepdowns !.non_live_record !.large
|
|
# - name: .encrypt
|
|
# - name: initial_sync_fuzzer_gen
|
|
- name: .jscore .common
|
|
# - name: jsCore_minimum_batch_size
|
|
- name: jsCore_op_query
|
|
- name: jsCore_txns_large_txns_format
|
|
# - name: jsonSchema
|
|
- name: .jstestfuzz !.flow_control !.stepdowns !.causal
|
|
# - name: multiversion_sanity_check_gen
|
|
# - name: mqlrun
|
|
# - name: .multi_shard
|
|
# - name: .query_fuzzer
|
|
# - name: .read_write_concern
|
|
# - name: .replica_sets !.encrypt !.auth !.non_live_record
|
|
# - name: replica_sets_reconfig_jscore_passthrough_gen
|
|
# - name: replica_sets_reconfig_jscore_stepdown_passthrough
|
|
- name: retryable_writes_jscore_passthrough_gen
|
|
- name: retryable_writes_jscore_stepdown_passthrough
|
|
# - name: .read_only
|
|
# - name: .rollbackfuzzer
|
|
- name: sasl
|
|
# - name: search
|
|
# - name: search_auth
|
|
# - name: search_ssl
|
|
# - name: session_jscore_passthrough
|
|
- name: .sharding .jscore !.wo_snapshot !.multi_stmt
|
|
# - name: .sharding .txns
|
|
# - name: .sharding .common !.non_live_record
|
|
- name: snmp
|
|
# - name: .updatefuzzer
|
|
|
|
- <<: *enterprise-rhel-80-64-bit-dynamic-required-template
|
|
name: rhel-80-64-bit-dynamic-visibility-test
|
|
display_name: "~ Shared Library RHEL 8.0 (visibility test)"
|
|
expansions:
|
|
<<: *enterprise-rhel-80-64-bit-dynamic-required-expansions
|
|
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic --experimental-visibility-support=on
|
|
|
|
- name: windows-dynamic-visibility-test
|
|
display_name: "~ Shared Library Windows (visibility test)"
|
|
expansions:
|
|
compile_flags: CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --win-version-min=win10
|
|
python: '/cygdrive/c/python/python37/python.exe'
|
|
ext: zip
|
|
has_packages: false
|
|
scons_cache_scope: shared
|
|
scons_cache_mode: all
|
|
tasks:
|
|
- name: visibility_test_TG
|
|
distros:
|
|
- windows-vsCurrent-large
|