From e55c99fa494dec4e5b859f7f782071e098a9460c Mon Sep 17 00:00:00 2001 From: henrikedin Date: Wed, 6 May 2026 00:22:30 -0400 Subject: [PATCH] SERVER-126021 Fix handling of duplicate fields in flat_bson (#53258) GitOrigin-RevId: ef888a6df901622004aeb4b7362e007b8c4299da --- .github/CODEOWNERS | 11 - copy.bara.sky | 33 - copy.bara.staging.sky | 31 - docs/evergreen-testing/task_generation.md | 2 +- etc/evergreen_yml_components/definitions.yml | 8136 ----------------- .../tasks/misc_tasks.yml | 1617 ---- .../variants/atlas.yml | 80 - etc/evergreen_yml_components/variants/ibm.yml | 216 - .../variants/in_memory.yml | 115 - .../variants/misc_release.yml | 2814 ------ .../variants/ninja.yml | 85 - .../variants/sanitizer.yml | 168 - .../variants/task_generation.yml | 21 - src/mongo/db/auth/README.md | 18 +- src/mongo/db/s/README.md | 2 +- src/mongo/db/timeseries/flat_bson.cpp | 13 +- src/mongo/db/timeseries/minmax_test.cpp | 31 + 17 files changed, 53 insertions(+), 13340 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 copy.bara.sky delete mode 100644 copy.bara.staging.sky delete mode 100644 etc/evergreen_yml_components/definitions.yml delete mode 100644 etc/evergreen_yml_components/tasks/misc_tasks.yml delete mode 100644 etc/evergreen_yml_components/variants/atlas.yml delete mode 100644 etc/evergreen_yml_components/variants/ibm.yml delete mode 100644 etc/evergreen_yml_components/variants/in_memory.yml delete mode 100644 etc/evergreen_yml_components/variants/misc_release.yml delete mode 100644 etc/evergreen_yml_components/variants/ninja.yml delete mode 100644 etc/evergreen_yml_components/variants/sanitizer.yml delete mode 100644 etc/evergreen_yml_components/variants/task_generation.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index eb44d2a81be..00000000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# All backports must be approved by the server release team -* @10gen/server-release - -# Exclude some test files and READMEs from the backport approvals -/etc/backports_required_for_multiversion_tests.yml -/etc/*.suppressions -/README.md -**/README.md - -# Exclude all the tests under "jstests" directories from backport approvals -**/jstests/**/* diff --git a/copy.bara.sky b/copy.bara.sky deleted file mode 100644 index fa6327e284e..00000000000 --- a/copy.bara.sky +++ /dev/null @@ -1,33 +0,0 @@ -# This configuration is for migrating code from one Git repository to another using Copybara. -# It selectively copies content, excluding specific paths and preserving authorship. - -# To test locally -# sourceUrl = "/path/to/source" -# destinationUrl = "/path/to/dest" - -sourceUrl = "https://github.com/10gen/mongo.git" -destinationUrl = "https://github.com/mongodb/mongo.git" - -core.workflow( - name = "default", - origin = git.origin( - url = sourceUrl, - ref = "v6.0", - ), - destination = git.destination( - url = destinationUrl, - fetch = "v6.0", - push = "v6.0", - ), - # Change path to the folder you want to publish publicly - origin_files = glob(["**"], exclude = ["src/mongo/db/modules/**"]), - authoring = authoring.pass_thru("MongoDB "), - mode = "ITERATIVE", - transformations = [ - # (^.*?) - matches the first line (without the newline char) - # \n - matches the first newline (or nothing at all if there is no newline). If there is no match then nothing happens - # ((\n|.)*) - matches everything after - # Overall, this copies only the first line of the commit rather than the body - metadata.scrubber("(^.*?)\n((\n|.)*)", replacement = "$1"), - ], -) diff --git a/copy.bara.staging.sky b/copy.bara.staging.sky deleted file mode 100644 index 0ed914af11e..00000000000 --- a/copy.bara.staging.sky +++ /dev/null @@ -1,31 +0,0 @@ -# This configuration is for migrating code from one Git repository to another using Copybara. -# It selectively copies content, excluding specific paths and preserving authorship. -sourceUrl = "https://github.com/10gen/mongo.git" -destinationUrl = "https://github.com/10gen/mongo-copybara.git" - -core.workflow( - name = "default", - origin = git.origin( - url = sourceUrl, - ref = "v6.0", - ), - destination = git.destination( - url = destinationUrl, - fetch = "v6.0", - push = "v6.0", - ), - # Change path to the folder you want to publish publicly - origin_files = glob(["**"], exclude=["src/mongo/db/modules/**"]), - - authoring = authoring.pass_thru("MongoDB "), - - mode = "ITERATIVE", - # Change the path here to the folder you want to publish publicly - transformations = [ - # (^.*?) - matches the first line (without the newline char) - # \n - matches the first newline (or nothing at all if there is no newline). If there is no match then nothing happens - # ((\n|.)*) - matches everything after - # Overall, this copies only the first line of the commit rather than the body - metadata.scrubber("(^.*?)\n((\n|.)*)", replacement = "$1"), - ], -) diff --git a/docs/evergreen-testing/task_generation.md b/docs/evergreen-testing/task_generation.md index 5635fbd8ff9..4dbae1254c8 100644 --- a/docs/evergreen-testing/task_generation.md +++ b/docs/evergreen-testing/task_generation.md @@ -15,7 +15,7 @@ for details on how it works. In order to generate a task, we typically create a placeholder task. By convention the name of these tasks should end in "_gen". Most of the time, generated tasks should inherit the -[gen_task_template](https://github.com/10gen/mongo/blob/31864e3866ce9cc54c08463019846ded2ad9e6e5/etc/evergreen_yml_components/definitions.yml#L99-L107) +[gen_task_template](https://github.com/mongodb/mongo/blob/31864e3866ce9cc54c08463019846ded2ad9e6e5/etc/evergreen_yml_components/definitions.yml#L99-L107) which configures the required dependencies. The placeholder tasks needs to have the "generate resmoke tasks" function as one of its `commands`. diff --git a/etc/evergreen_yml_components/definitions.yml b/etc/evergreen_yml_components/definitions.yml deleted file mode 100644 index 89961617e13..00000000000 --- a/etc/evergreen_yml_components/definitions.yml +++ /dev/null @@ -1,8136 +0,0 @@ -#################################################### -# Static Definitions # -#################################################### -# This file contains static Evergreen config definitions used by other YAML files. -# It is not run directly by any Evergreen project. -# -# Any global task, function, or taskgroup definition can be added here. Note that if -# the definition is added to another file, YAML anchors from this file can't be used. - -command_type: system -exec_timeout_secs: 21600 # 6 hours. -oom_tracker: true -pre_error_fails_task: true -stepback: true - - -## Parameters for parameterized builds (see https://github.com/evergreen-ci/evergreen/wiki/Parameterized-Builds) -parameters: -- key: patch_compile_flags - description: "Additional SCons flags to be applied during scons compile invocations in this patch" - -- key: future_git_tag - description: "Future git tag to be added. If empty, we will use the most recent git tag instead." - -- key: last_lts_evg_version_id - description: "The Evergreen Version ID of the last-lts MongoDB binaries. Only binaries from release variants are used" - -- key: last_continuous_evg_version_id - description: "The Evergreen Version ID of the last-continuous MongoDB binaries. Only binaries from release variants are used" - -- key: antithesis_image_tag - description: "The docker tag to use when pushing images to Antithesis" - -- key: burn_in_tests - description: "Comma separated list of jstests to include when running burn_in_tests" - -## Cron parameters. -- key: project_required_suggested_cron - value: "0 */4 * * *" # Every 4 hours starting at 0000 UTC - description: "Cron schedule for required and suggested variants" -- key: project_nightly_cron - value: "0 4 * * *" # Every day starting at 0400 UTC - description: "Cron schedule for nightly variants" -- key: project_weekly_cron - value: "0 4 * * 0" # Every week starting 0400 UTC Sunday - description: "Cron schedule for nightly variants" - - -####################################### -# 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: wtdevelop - repo: git@github.com:wiredtiger/wiredtiger.git - prefix: src/third_party - branch: develop - -####################################### -# Variable # -####################################### -## Some variables for convenience: -variables: - -# Used when the tests it runs depend only on mongod, mongos, the jstestshell and the tools. -- &task_template - name: template - depends_on: - - name: archive_dist_test_debug - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_args: --help - resmoke_jobs_max: 0 # No cap on number of jobs. - -- &gen_task_template - name: gen_task_template - depends_on: - - name: version_gen - variant: generate-tasks-for-version - - name: archive_dist_test_debug - commands: - - func: "generate resmoke tasks" - vars: - resmoke_args: --help - -- &gen_burn_in_task_template - name: gen_burn_in_task_template - depends_on: - - name: version_gen - variant: generate-tasks-for-version - - name: version_burn_in_gen - variant: generate-tasks-for-version - - name: archive_dist_test_debug - commands: - - func: "generate resmoke tasks" - vars: - resmoke_args: --help - -- &benchmark_template - name: benchmark_template - depends_on: - - name: compile_benchmarks - commands: - - func: "do benchmark setup" - - func: "run tests" - vars: - resmoke_args: --help - resmoke_jobs_max: 1 - - func: "send benchmark results" -# - func: "analyze benchmark results" - vars: - suite: benchmark_suite - -- &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 - is_jstestfuzz: true - num_files: 15 - num_tasks: 5 # Upperbound by `max_sub_suites` specified through the variant with each task still running `num_files` files. - # It is error prone to require each fuzzer-related Evergreen task to need to override the - # resmoke_args variable. However, the resmoke_args variable must be defined as a string in the - # task generation configuration to satisfy mongodb/mongo-task-generator. We therefore specify an - # empty string for the variable to reflect there are no additional arguments provided to resmoke - # by default for the fuzzer-related tasks. - resmoke_args: "" - 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: - - name: version_gen - variant: generate-tasks-for-version - - archive_dist_test_debug - commands: - - func: "generate resmoke tasks" - -# Templates used by powercycle -- &powercycle_remote_credentials - private_key_file: src/powercycle.pem - private_key_remote: ${__project_aws_ssh_key_value} - -- &compile_task_group_template - name: compile_task_group_template - max_hosts: 1 - tasks: [] - setup_task: - - func: "f_expansions_write" - - func: "apply compile expansions" - - func: "set task expansion macros" - - func: "f_expansions_write" - teardown_task: - - func: "f_expansions_write" - - func: "attach scons logs" - - func: "send scons cedar report" - - func: "attach report" - - func: "attach artifacts" - - func: "kill processes" - - func: "save code coverage data" - - func: "save mongo coredumps" - - func: "save failed unittests" - - func: "save UndoDB recordings" - - func: "save unstripped dbtest" - - func: "save hang analyzer debugger files" - - func: "save disk statistics" - - func: "save system resource information" - - func: "save libfuzzertest corpora" - - func: "remove files" - vars: - files: >- - src/resmoke_error_code - src/build/scons/config.log - src/*.gcda.gcov - src/gcov-intermediate-files.tgz - src/*.core src/*.mdmp - mongo-coredumps.tgz - src/dist-unittests/bin/* - src/dist-unittests/lib/* - mongo-unittests.tgz - src/debugger*.* - src/mongo-hanganalyzer.tgz - diskstats.tgz - system-resource-info.tgz - ${report_file|src/report.json} - ${archive_file|src/archive.json} - setup_group_can_fail_task: true - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - # The python virtual environment is installed in ${workdir}, which is created in - # "set up venv". - - func: "set up venv" - - func: "upload pip requirements" - - func: "get all modified patch files" - - func: "f_expansions_write" - - func: "configure evergreen api credentials" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up credentials" - - func: "use WiredTiger develop" # noop if ${use_wt_develop} is not "true" - - func: "set up win mount script" - - func: "generate compile expansions" - - func: "f_expansions_write" - teardown_group: - - func: "f_expansions_write" - - func: "umount shared scons directory" - - func: "cleanup environment" - timeout: - - func: "f_expansions_write" - - func: "run hang analyzer" - - func: "wait for resmoke to shutdown" - -- &stitch_support_task_group_template_community_only - name: stitch_support_task_group_template_community_only - setup_task: - - func: "apply compile expansions" - - func: "set task expansion macros" - - func: "f_expansions_write" - teardown_task: - - func: "attach scons logs" - - func: "send scons cedar report" - setup_group_can_fail_task: true - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "umount shared scons directory" - -# TODO: split this up into the user files. -# 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-amazon2023 - - enterprise-amazon2023-arm64 - - enterprise-debian10-64 - - enterprise-debian11-64 - - enterprise-linux-64-amazon-ami - - enterprise-macos - - enterprise-macos-arm64 - - enterprise-rhel-70-64-bit - # - enterprise-rhel-70-64-bit-kitchen-sink - - enterprise-rhel-70-64-bit-no-libunwind - - enterprise-rhel-71-ppc64le - - enterprise-rhel-81-ppc64le - - enterprise-rhel-72-s390x - - enterprise-rhel-8-64-bit - - enterprise-rhel-8-64-bit-coverage - - enterprise-rhel-8-64-bit-inmem - - enterprise-rhel-8-64-bit-multiversion - - enterprise-rhel-8-64-bit-suggested - - enterprise-rhel-8-arm64 - - enterprise-rhel-83-s390x - - enterprise-rhel-90-64-bit - - enterprise-rhel-90-arm64 - - enterprise-suse12-64 - - enterprise-suse15-64 - - enterprise-ubuntu1804-64 - - enterprise-ubuntu1804-arm64 - - enterprise-ubuntu2004-arm64 - - enterprise-ubuntu2204-arm64 - - enterprise-ubuntu2004-64 - - enterprise-ubuntu2204-64 - - enterprise-windows - - enterprise-windows-debug-unoptimized - - enterprise-windows-inmem - - enterprise-windows-required - - enterprise-windows-wtdevelop - - ubuntu1804-debug-asan - - ubuntu1804-debug-ubsan - - ubuntu1804-debug-aubsan-lite-required - - ubuntu1804-debug-aubsan-lite_fuzzer - - -# List of all variants that make mh artifacts. -# If a variant is listed here and has a push task, the mh artifacts are pushed -- mh_variants: &mh_variants - - enterprise-macos - - enterprise-macos-arm64 - - enterprise-rhel-8-64-bit - - enterprise-rhel-8-64-bit-dynamic-required - - enterprise-rhel-70-64-bit - - enterprise-rhel-8-arm64 - - enterprise-rhel-90-64-bit - - enterprise-rhel-90-arm64 - - enterprise-amazon2-arm64 - - enterprise-amazon2023 - - enterprise-amazon2023-arm64 - - enterprise-ubuntu1804-64 - - enterprise-ubuntu2204-64 - - enterprise-windows - - enterprise-windows-required - -# List of all variants that use the packages.tgz -- package_variants: &package_variants - - amazon - - enterprise-linux-64-amazon-ami - - amazon2 - - amazon2023 - - amazon2023-arm64 - - enterprise-amazon2 - - enterprise-amazon2-arm64 - - enterprise-amazon2023 - - enterprise-amazon2023-arm64 - - debian10 - - debian11 - - enterprise-debian10-64 - - enterprise-debian11-64 - - rhel70 - - rhel76_compile_rhel70 - - enterprise-rhel-70-64-bit - - enterprise-rhel-71-ppc64le - - enterprise-rhel-81-ppc64le - - enterprise-rhel-72-s390x - - ubi8 - - rhel8 - - rhel-8-arm64 - - rhel90 - - rhel90-arm64 - - enterprise-rhel-8-64-bit - - enterprise-rhel-8-64-bit-suggested # For testing selinux. - - enterprise-rhel-8-arm64 - - enterprise-rhel-83-s390x - - enterprise-rhel-90-64-bit - - enterprise-rhel-90-arm64 - - suse12 - - enterprise-suse12-64 - - suse15 - - enterprise-suse15-64 - - ubuntu1804 - - ubuntu1804-arm64 - - ubuntu2004-arm64 - - ubuntu2204-arm64 - - ubuntu2004 - - ubuntu2204 - - enterprise-ubuntu1804-64 - - enterprise-ubuntu1804-arm64 - - enterprise-ubuntu2004-arm64 - - enterprise-ubuntu2204-arm64 - - enterprise-ubuntu2004-64 - - enterprise-windows - - windows - - -####################################### -# Functions # -####################################### - -functions: - "f_expansions_write": &f_expansions_write - command: expansions.write - params: - file: expansions.yml - redacted: true - - "remove files": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/files_remove.sh" - - "configure evergreen api credentials": &configure_evergreen_api_credentials - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/functions/evergreen_api_credentials_configure.sh" - - "configure selected tests credentials": &configure_selected_tests_credentials - command: subprocess.exec - type: test - params: - binary: bash - silent: true - args: - - "src/evergreen/functions/selected_tests_credentials_configure.sh" - env: - project: ${project} - selected_tests_auth_user: ${selected_tests_auth_user} - selected_tests_auth_token: ${selected_tests_auth_token} - - "git get project": &git_get_project - command: git.get_project - params: - directory: ${git_project_directory|src} - revisions: # for each module include revision as : ${_rev} - enterprise: ${enterprise_rev} - wtdevelop: ${wtdevelop_rev} - - # Get get the mongo repo, no modules. Useful for inspecting the commit history with the - # `git` Python tool. - "git get project no modules": - - *f_expansions_write - - command: git.get_project - params: - directory: ${git_project_directory|src} - - "add git tag": &add_git_tag - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/add_git_tag.sh" - env: - future_git_tag: ${future_git_tag} - bv_future_git_tag: ${bv_future_git_tag} - - "git get project and add git tag": - - *f_expansions_write - - *git_get_project - - *add_git_tag - - "fetch artifacts": &fetch_artifacts - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz - bucket: mciuploads - extract_to: src - - "fetch venv": &fetch_venv - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${project}/${build_variant}/${revision}/venv/${build_id}.tgz - bucket: mciuploads - extract_to: "." - - "adjust venv": &adjust_venv - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/venv_adjust.sh" - - "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 - optional: true - - "fetch binaries": &fetch_binaries - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${mongo_binaries} - bucket: mciuploads - local_file: src/mongo-binaries.tgz - - "extract binaries": &extract_binaries - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/binaries_extract.sh" - - "get version expansions": &get_version_expansions - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${project}/${version_id}/${bv_future_git_tag|version}_expansions.yml - bucket: mciuploads - local_file: src/version_expansions.yml - - "apply version expansions": &apply_version_expansions - command: expansions.update - params: - file: src/version_expansions.yml - - "get and apply version expansions": - - *get_version_expansions - - *apply_version_expansions - - "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}_${project}" - destination: "builder_num" - - "run diskstats": &run_diskstats - command: subprocess.exec - params: - background: true - system_log: true - binary: bash - args: - - "./src/evergreen/functions/run_diskstats.sh" - - "collect system resource info": &collect_system_resource_info - command: subprocess.exec - params: - background: true - system_log: true - binary: bash - args: - - "./src/evergreen/functions/system_resource_info_collect.sh" - - "collect ulimit info": &collect_ulimit_info - command: subprocess.exec - params: - background: true - system_log: true - binary: bash - args: - - "./src/evergreen/functions/ulimit_info_collect.sh" - - # Run a monitor process as a background, system task to periodically - # display how many threads interesting processes are using. - "monitor process threads": &monitor_process_threads - command: subprocess.exec - params: - background: true - system_log: true - binary: bash - args: - - "./src/evergreen/functions/process_threads_monitor.sh" - - "set up credentials": &set_up_credentials - command: subprocess.exec - params: - binary: bash - silent: true - args: - - "./src/evergreen/functions/credentials_setup.sh" - - "set up win mount script": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - silent: true - args: - - "./src/evergreen/functions/win_mount_script_setup.sh" - - "set up notary client credentials": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - silent: true - args: - - "./src/evergreen/functions/notary_client_credentials_setup.sh" - - "f_remote_credentials_setup_exec": &set_up_remote_credentials - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/remote_credentials_setup.sh" - env: - private_key_remote_bash_var: ${private_key_remote} - - "set up remote credentials": - - *f_expansions_write - - *set_up_remote_credentials - - "upload debugsymbols": &upload_debugsymbols - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/mongo-debugsymbols.${ext|tgz} - remote_file: ${mongo_debugsymbols} - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - - "use WiredTiger develop": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/wiredtiger_develop_use.sh" - - "shared scons cache pruning": - - *f_expansions_write - - command: subprocess.exec - type: system - params: - binary: bash - args: - - "./src/evergreen/functions/shared_scons_cache_pruning.sh" - - "umount shared scons directory": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/shared_scons_directory_umount.sh" - - "get all modified patch files": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/modified_patch_files_get_all.sh" - - # This function should only be called from patch-build-only tasks. - "get added and modified patch files": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/added_and_modified_patch_files_get.sh" - - "determine resmoke jobs": &determine_resmoke_jobs - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/resmoke_jobs_determine.sh" - - "update resmoke jobs expansions": &update_resmoke_jobs_expansions - command: expansions.update - params: - ignore_missing_file: true - file: src/resmoke_jobs_expansion.yml - - "determine task timeout": &determine_task_timeout - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/task_timeout_determine.sh" - - "update task timeout expansions": &update_task_timeout_expansions - command: expansions.update - params: - ignore_missing_file: true - file: src/task_timeout_expansions.yml - - "update task timeout": &update_task_timeout - command: timeout.update - params: - exec_timeout_secs: ${exec_timeout_secs} - timeout_secs: ${timeout_secs} - - ### Set expansion macros used in each task. - "set task expansion macros": &set_task_expansion_macros - command: expansions.update - params: - updates: - - key: mongo_binaries - value: ${project}/${build_variant}/${revision}/binaries/mongo-${build_id}.${ext|tgz} - - key: mongo_cryptd - value: ${project}/${build_variant}/${revision}/binaries/mongo-cryptd-${build_id}.${ext|tgz} - - key: mongo_cryptd_debugsymbols - value: ${project}/${build_variant}/${revision}/binaries/mongo-cryptd-debugsymbols-${build_id}.${ext|tgz} - - key: mh_archive - value: ${project}/${build_variant}/${revision}/binaries/mh-${build_id}.${ext|tgz} - - key: mh_debugsymbols - value: ${project}/${build_variant}/${revision}/debugsymbols/mh-debugsymbols-${build_id}.${ext|tgz} - - key: mongo_debugsymbols - value: ${project}/${build_variant}/${revision}/debugsymbols/debugsymbols-${build_id}.${ext|tgz} - - key: mongo_jstestshell - value: ${project}/${build_variant}/${revision}/binaries/mongo-jstestshell-${build_id}.${ext|tgz} - - key: mongo_jstestshell_debugsymbols - value: ${project}/${build_variant}/${revision}/binaries/mongo-jstestshell-debugsymbols-${build_id}.${ext|tgz} - - key: mongo_fuzzer_corpus_mciuploads - value: ${project}/${build_variant}/${revision}/libfuzzer-corpora/corpora-${build_id}.${ext|tgz} - - key: mongo_fuzzer_corpus - value: corpora-${project}-${build_variant}.${ext|tgz} - - key: skip_tests - value: skip_test-${build_id} - - "set up venv": &set_up_venv - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/venv_setup.sh" - env: - pip_dir: ${pip_dir} - - "upload pip requirements": &upload_pip_requirements - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: pip-requirements.txt - remote_file: ${project}/${build_variant}/${revision}/pip-requirements-${task_id}-${execution}.txt - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: Pip Requirements - - "send benchmark results": - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/perf_submission.sh" - env: - perf_file_path: src/cedar_report.json - include_expansions_in_env: - - requester - - revision_order_id - - project_id - - version_id - - build_variant - - parsed_order_id - - task_name - - task_id - - execution - - is_mainline - type: test - - "analyze benchmark results": - - *f_expansions_write - - *configure_evergreen_api_credentials - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/functions/benchmark_results_analyze.sh" - - "cleanup environment": &cleanup_environment - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/cleanup_environment.sh" - - "kill processes": &kill_processes - command: subprocess.exec - params: - silent: true - binary: bash - args: - - "./src/evergreen/kill_processes.sh" - - "do setup": - - *f_expansions_write - - *fetch_artifacts - - *kill_processes - - *cleanup_environment - - *fetch_venv - - *adjust_venv - - *fetch_binaries - - *extract_binaries - - *get_buildnumber - - *f_expansions_write - - *set_up_credentials - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - "do non-compile setup": - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - *set_up_venv - - *upload_pip_requirements - - *get_buildnumber - - *f_expansions_write - - *set_up_credentials - - "do benchmark setup": - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - *set_up_venv - - *upload_pip_requirements - - *get_buildnumber - - *f_expansions_write - - *set_up_credentials - - *fetch_benchmarks - - "f_multiversion_setup_exec": &do_multiversion_setup - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/multiversion_setup.sh" - - "do multiversion setup": - - *f_expansions_write - - *set_up_venv - - *do_multiversion_setup - - # Used by generator - "get compiled binaries": - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/compiled_binaries_get.sh" - - "generate powercycle tasks": - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - *set_up_venv - - *upload_pip_requirements - - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/powercycle_tasks_generate.sh" - - - command: archive.targz_pack - params: - target: powercycle_tasks_config.tgz - source_dir: "./" - include: - - "powercycle_tasks.json" - - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: powercycle_tasks_config.tgz - remote_file: ${project}/${build_variant}/${revision}/powercycle_tasks/${task_name}-${build_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Generated Task Config - Execution ${execution} - - - command: generate.tasks - params: - files: - - powercycle_tasks.json - - "run powercycle sentinel": - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - *set_up_venv - - *upload_pip_requirements - - *configure_evergreen_api_credentials - - - command: subprocess.exec - type: system - params: - binary: bash - args: - - "./src/evergreen/powercycle_sentinel_run.sh" - - "sign macos dev binaries": &sign_macos_dev_binaries - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/sign_macos_binaries_for_testing.py" - - "execute resmoke tests": &execute_resmoke_tests - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/resmoke_tests_execute.sh" - - "retrieve generated test configuration": &retrieve_generated_test_configuration - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - bucket: mciuploads - remote_file: ${project}/${revision}/generate_tasks/generated-config-${version_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" - - "minimize jstestfuzz": &minimize_jstestfuzz - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/jstestfuzz_minimize.sh" - - "generate selected tests": - - *f_expansions_write - - *configure_evergreen_api_credentials - - *configure_selected_tests_credentials - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/selected_tests_generate.sh" - - *f_expansions_write - - 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}/${revision}/generate_tasks/generated-config-${version_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Generated Task Config - Execution ${execution} - optional: true - - command: generate.tasks - params: - optional: true - files: - - src/generated_resmoke_config/*.json - - "generate version": - - *f_expansions_write - - *configure_evergreen_api_credentials - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/generate_version.sh" - - command: archive.targz_pack - params: - target: generate_tasks_config.tgz - source_dir: src/generated_resmoke_config - include: - - "*" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: generate_tasks_config.tgz - remote_file: ${project}/${revision}/generate_tasks/generated-config-${version_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Generated Task Config - Execution ${execution} - optional: true - - command: generate.tasks - params: - optional: true - files: - - src/generated_resmoke_config/*.json - - "generate version burn in": - - *f_expansions_write - - *configure_evergreen_api_credentials - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/generate_version_burn_in.sh" - - command: archive.targz_pack - params: - target: generate_tasks_config.tgz - source_dir: src/generated_resmoke_config - include: - - "*" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: generate_tasks_config.tgz - remote_file: ${project}/${revision}/generate_tasks/generated-burn-in-config-${version_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Generated Burn In Task Config - Execution ${execution} - optional: true - - command: generate.tasks - params: - optional: true - files: - - src/generated_resmoke_config/*.json - - "initialize multiversion tasks": &initialize_multiversion_tasks - - command: shell.exec - params: - script: "echo 'noop'" - - "generate resmoke tasks": - - *fetch_artifacts - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *get_version_expansions - - *apply_version_expansions - - *fetch_venv - - *adjust_venv - - *f_expansions_write - - *configure_evergreen_api_credentials - - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/gen_tasks_activate.sh" - - # Used by generator - "validate resmoke tests runtime": - - *f_expansions_write - - *configure_evergreen_api_credentials - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/resmoke_tests_runtime_validate.sh" - - # Used by generator - "run generated tests": - - *f_expansions_write - - *retrieve_generated_test_configuration - - *extract_generated_test_configuration - - *f_expansions_write - - command: expansions.update - params: - updates: - - key: aws_key_remote - value: ${mongodatafiles_aws_key} - - key: aws_profile_remote - value: mongodata_aws - - key: aws_secret_remote - value: ${mongodatafiles_aws_secret} - - *f_expansions_write - - *set_up_remote_credentials - - *f_expansions_write - - *determine_resmoke_jobs - - *update_resmoke_jobs_expansions - - *f_expansions_write - - *configure_evergreen_api_credentials - - *determine_task_timeout - - *update_task_timeout_expansions - - *update_task_timeout - - *f_expansions_write - - *sign_macos_dev_binaries - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/multiversion_exclude_tags_generate.sh" - - *execute_resmoke_tests - - *minimize_jstestfuzz - # 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" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/check_resmoke_failure.sh" - - "run tests": - - *f_expansions_write - - *configure_evergreen_api_credentials - - *determine_task_timeout - - *update_task_timeout_expansions - - *f_expansions_write - - *update_task_timeout - - *f_expansions_write - - command: expansions.update - params: - env: - CEDAR_USER: ${cedar_user} - CEDAR_API_KEY: ${cedar_api_key} - updates: - - key: aws_key_remote - value: ${mongodatafiles_aws_key} - - key: aws_profile_remote - value: mongodata_aws - - key: aws_secret_remote - value: ${mongodatafiles_aws_secret} - - *f_expansions_write - - *set_up_remote_credentials - - *f_expansions_write - - *determine_resmoke_jobs - - *update_resmoke_jobs_expansions - - *f_expansions_write - - *configure_evergreen_api_credentials - - *sign_macos_dev_binaries - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/multiversion_exclude_tags_generate.sh" - - *execute_resmoke_tests - # The existence of the "run_tests_infrastructure_failure" file indicates this failure isn't - # directly actionable. We use type=setup rather than type=system or type=test for this command - # because we don't intend for any human to look at this failure. - - command: subprocess.exec - type: setup - params: - binary: bash - args: - - "./src/evergreen/check_run_tests_infrastructure_failure.sh" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/check_resmoke_failure.sh" - - "scons lint": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/scons_lint.sh" - - "scons compile": - - *get_version_expansions - - *apply_version_expansions - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/scons_compile.sh" - - command: expansions.update - params: - updates: - - key: install_dir - value: ${install_dir} - - "ninja compile": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/ninja_compile.sh" - - "generate version expansions": &generate_version_expansions - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/version_expansions_generate.sh" - - "upload version expansions": &upload_version_expansions - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/version_expansions.yml - remote_file: ${project}/${version_id}/${bv_future_git_tag|version}_expansions.yml - bucket: mciuploads - permissions: public-read - content_type: application/x-yaml - display_name: version expansions - - "generate and upload version expansions": - - *generate_version_expansions - - *upload_version_expansions - - "generate compile expansions": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/functions/compile_expansions_generate.sh" - - "apply compile expansions": - - command: expansions.update - params: - file: src/compile_expansions.yml - - *f_expansions_write - - "do jepsen setup": - - *f_expansions_write - - command: github.generate_token - params: - owner: 10gen - repo: libfaketime - expansion_name: github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_jepsen_setup/build_libfaketime.sh" - include_expansions_in_env: - - github_token - - command: github.generate_token - params: - owner: 10gen - repo: jepsen - expansion_name: github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_jepsen_setup/install_jepsen.sh" - include_expansions_in_env: - - github_token - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_jepsen_setup/nodes.sh" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_jepsen_setup/move_binaries.sh" - - "do jepsen docker setup": - - *f_expansions_write - - command: github.generate_token - params: - owner: 10gen - repo: jepsen-io-mongodb - expansion_name: jepsen_io_github_token - permissions: - metadata: read - contents: read - - command: github.generate_token - params: - owner: 10gen - repo: jepsen - expansion_name: jepsen_github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - type: system - params: - binary: bash - args: - - "./src/evergreen/jepsen_docker/setup.sh" - include_expansions_in_env: - - jepsen_io_github_token - - jepsen_github_token - "run jepsen docker test": - - *f_expansions_write - - command: subprocess.exec - type: setup - params: - binary: bash - args: - - "./src/evergreen/jepsen_docker/docker-up.sh" - - command: archive.targz_pack - params: - target: jepsen-docker-log.tgz - source_dir: jepsen/docker - include: - - "docker.log" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: jepsen-docker-log.tgz - remote_file: ${project}/${build_variant}/${revision}/jstestfuzz/jepsen-docker-log-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/gzip - display_name: Jepsen Docker Build Log - Execution ${execution} - - - command: subprocess.exec - type: test - timeout_secs: 2700 # Timeout test if there is no output for more than 45 minutes. - params: - binary: bash - args: - - "./src/evergreen/jepsen_docker/list-append.sh" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/jepsen_test_fail.sh" - - "cleanup jepsen docker test": - - *f_expansions_write - - command: subprocess.exec - type: system - params: - binary: bash - args: - - "./src/evergreen/jepsen_docker/cleanup.sh" - - "run jepsen test": - - *f_expansions_write - - command: subprocess.exec - type: test - timeout_secs: 2700 # Timeout test if there is no output for more than 45 minutes. - params: - binary: bash - args: - - "./src/evergreen/jepsen_test_run.sh" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/jepsen_test_fail.sh" - - "load aws test credentials": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - silent: true - args: - - "./src/evergreen/functions/aws_test_credentials_load.sh" - - "setup jstestfuzz": - - *f_expansions_write - - command: github.generate_token - params: - owner: 10gen - repo: jstestfuzz - expansion_name: github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - display_name: "jstestfuzz setup sh" - params: - binary: bash - args: - - "./src/evergreen/jstestfuzz_setup.sh" - include_expansions_in_env: - - github_token - - "lint fuzzer sanity patch": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/lint_fuzzer_sanity_patch.sh" - - "lint fuzzer sanity all": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/lint_fuzzer_sanity_all.sh" - - "sync repo with copybara": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/sync_repo_with_copybara.py --expansion-file ../expansions.yml" - - # Used by generator - "run jstestfuzz": - - *f_expansions_write - - command: github.generate_token - params: - owner: 10gen - repo: QA - expansion_name: github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/run_jstestfuzz/clone_repos.sh" - include_expansions_in_env: - - github_token - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/jstestfuzz_run.sh" - - command: archive.targz_pack - params: - target: "jstests.tgz" - source_dir: "src/jstestfuzz" - include: - - "out/*.js" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: jstests.tgz - remote_file: ${project}/${build_variant}/${revision}/jstestfuzz/${task_id}-${execution}.tgz - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/gzip - display_name: Generated Tests - Execution ${execution} - - "upload npm logs": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/move_npm_logs.sh" - - command: archive.targz_pack - params: - target: "npm-logs.tgz" - source_dir: "${workdir}/" - include: - - "_logs/*" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: npm-logs.tgz - remote_file: ${project}/${build_variant}/${revision}/jstestfuzz/${task_id}-${execution}-npm-logs.tgz - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/gzip - display_name: npm logs - Execution ${execution} - - "upload jstestfuzz minimized output": - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/minimizer-outputs.json - remote_file: ${project}/${build_variant}/${revision}/artifacts/minimizer-outputs-${task_id}-${execution}.json - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/json - display_name: Minimizer Outputs - Execution ${execution} - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/jstestfuzz/out/minimizer-outputs-minimizedtest.js - remote_file: ${project}/${build_variant}/${revision}/artifacts/minimizer-outputs-minimizedtest-${task_id}-${execution}.js - bucket: mciuploads - permissions: private - visibility: signed - content_type: text/javascript - display_name: Minimized jstestfuzz Test - Execution ${execution} - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/wiki_page_minimized_agg_query_fuzzer.sh" - - command: attach.artifacts - params: - files: - - wiki_page_running_minimized_test_location.json - file: src/compile_expansions.yml - - # Used by generator - "run idl tests": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/idl_tests_run.sh" - - "run powercycle test": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/powercycle_run_test.sh" - - - command: expansions.update - params: - ignore_missing_file: true - file: src/powercycle_exit.yml - - *f_expansions_write - - command: subprocess.exec - type: setup - params: - binary: bash - args: - - "./src/evergreen/powercycle_ssh_failure_exit.sh" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/powercycle_exit.sh" - - "run packager.py": - - *get_version_expansions - - *apply_version_expansions - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/packager.py_run.sh" - - "do snmp setup": - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_snmp_setup.sh" - - "do watchdog setup": - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/do_watchdog_setup.sh" - - "run kitchen": - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/kitchen_run.sh" - - "set up EC2 instance": &set_up_ec2_instance - - - command: host.create - params: - provider: ec2 - distro: ${distro_id} - timeout_teardown_secs: 86400 # 24 hours - security_group_ids: - - sg-097bff6dd0d1d31d0 - - - command: host.list - params: - wait: true - timeout_seconds: 3000 - num_hosts: 1 - path: src/hosts.yml - - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/powercycle_check_host.sh" - - - command: expansions.update - params: - file: src/powercycle_ip_address.yml - - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/powercycle_setup_host.sh" - - "run selinux tests": - - command: host.create - params: - provider: ec2 - distro: ${distro} - timeout_teardown_secs: 86400 # 1 day - - command: host.list - params: - wait: true - timeout_seconds: 900 # 15 min - num_hosts: 1 - path: src/hosts.yml - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - redirect_standard_error_to_output: true - args: - - "./src/evergreen/selinux_run_test.sh" - env: - test_list: ${test_list} - user: ec2-user - - - ### Process & archive remote EC2 artifacts ### - "save powercycle artifacts": &save_powercycle_artifacts - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/powercycle_save_artifacts.sh" - - "archive remote EC2 artifacts": &archive_remote_ec2_artifacts - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/ec2_artifacts.tgz - remote_file: ${project}/${build_variant}/${revision}/remote_ec2/remote_ec2_artifacts-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Remote EC2 Artifacts - Execution ${execution} - optional: true - - "archive remote EC2 monitor files": &archive_remote_ec2_monitor_files - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/ec2_monitor_files.tgz - remote_file: ${project}/${build_variant}/${revision}/remote_ec2/remote_ec2_monitor-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Remote EC2 Monitor - Execution ${execution} - optional: true - - "save ec2 task artifacts": - - *f_expansions_write - - *save_powercycle_artifacts - - *archive_remote_ec2_artifacts - - *archive_remote_ec2_monitor_files - - ### Process & archive local client logs ### - "tar local client logs": &tar_local_client_logs - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/local_client_logs_tar.sh" - - "archive local client logs": &archive_local_client_logs - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/client-logs.tgz - remote_file: ${project}/${build_variant}/${revision}/client_logs/mongo-client-logs-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Client logs - Execution ${execution} - optional: true - - "save local client logs": - - *f_expansions_write - - *tar_local_client_logs - - *archive_local_client_logs - - ### Cleanup after the watchdog FUSE testing ### - "cleanup FUSE watchdog": - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/fuse_watchdog_cleanup.sh" - - ### Process & archive Code Coverage artifacts ### - "process code coverage data": &process_code_coverage_data - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/functions/code_coverage_data_process.sh" - - "tar code coverage data": &tar_code_coverage_data - command: archive.targz_pack - params: - target: "src/gcov-intermediate-files.tgz" - source_dir: "src" - include: - - "*.gcda.gcov" - - "archive code coverage data": &archive_code_coverage_data - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/gcov-intermediate-files.tgz" - remote_file: ${project}/${build_variant}/${revision}/gcov/gcov-intermediate-files-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: gcov intermediate files - Execution ${execution} - optional: true - - "save code coverage data": - - *f_expansions_write - - *process_code_coverage_data - - *tar_code_coverage_data - - *archive_code_coverage_data - - "tar jepsen logs": &tar_jepsen_logs - command: archive.targz_pack - params: - target: "src/jepsen-mongod-logs.tgz" - source_dir: "${workdir}/src/jepsen-workdir" - include: - - "./**.log" - - "archive jepsen logs": &archive_jepsen_logs - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/jepsen-mongod-logs.tgz - remote_file: ${project}/${build_variant}/${revision}/jepsen/jepsen-mongod-logs-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Jepsen mongod Logs - ${execution} - optional: true - - "tar jepsen results": &tar_jepsen_results - command: archive.targz_pack - params: - target: "src/jepsen-results.tgz" - source_dir: "src/jepsen-mongodb/store" - include: - - "./**" - - "archive jepsen results": &archive_jepsen_results - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/jepsen-results.tgz - remote_file: ${project}/${build_variant}/${revision}/jepsen/jepsen-results-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Jepsen Test Results - ${execution} - optional: true - - "upload jepsen_log": &upload_jepsen_log - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/jepsen-mongodb/jepsen_${task_name}_${execution}.log - remote_file: ${project}/${build_variant}/${revision}/jepsen_${task_name}_${execution}.log - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: Jepsen Test Log - - "save jepsen artifacts": - - *tar_jepsen_logs - - *archive_jepsen_logs - - *tar_jepsen_results - - *archive_jepsen_results - - *upload_jepsen_log - - ### Process & archive mongo coredumps ### - "gather mongo coredumps": &gather_mongo_coredumps - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/gather_mongo_coredumps.sh" - - "tar mongo coredumps": &tar_mongo_coredumps - command: archive.targz_pack - params: - target: "mongo-coredumps.tgz" - source_dir: "src" - include: - - "./**.core" - - "./**.mdmp" # Windows: minidumps - - "archive mongo coredumps": &archive_mongo_coredumps - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: mongo-coredumps.tgz - remote_file: ${project}/${build_variant}/${revision}/coredumps/mongo-coredumps-${build_id}-${task_name}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Core Dumps - Execution ${execution} - optional: true - - "save mongo coredumps": - - *f_expansions_write - - *gather_mongo_coredumps - - *tar_mongo_coredumps - - *archive_mongo_coredumps - - ### Process & archive failed unittest artifacts ### - "gather failed unittests": &gather_failed_unittests - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/failed_unittests_gather.sh" - - "tar failed unittests": &tar_failed_unittests - command: archive.targz_pack - params: - target: "mongo-unittests.tgz" - source_dir: "src/dist-unittests" - include: - - "**" - - "archive failed unittests": &archive_failed_unittests - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: mongo-unittests.tgz - remote_file: ${project}/${build_variant}/${revision}/unittests/mongo-unittests-${build_id}-${task_name}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Unit tests - Execution ${execution} - optional: true - - "save failed unittests": - - *f_expansions_write - - *gather_failed_unittests - - *tar_failed_unittests - - *archive_failed_unittests - - "archive dbtest": &archive_dbtest - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: dbtest-binary.tgz - remote_file: ${project}/${build_variant}/${revision}/dbtest/dbtest-${build_id}-${task_name}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: dbtest binary - Execution ${execution} - optional: true - - "archive dbtest debugsymbols": &archive_dbtest_debug - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: dbtest-debugsymbols.tgz - remote_file: ${project}/${build_variant}/${revision}/dbtest/dbtest-${build_id}-${task_name}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: dbtest debugsymbols - optional: true - - "save unstripped dbtest": - - *archive_dbtest - - *archive_dbtest_debug - - ### Process & archive artifacts from hung processes ### - "run hang analyzer": - - *f_expansions_write - - *configure_evergreen_api_credentials - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/hang_analyzer.sh" - - "wait for resmoke to shutdown": - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/wait_for_resmoke_to_shutdown.sh" - - "tar hang analyzer debugger files": &tar_hang_analyzer_debugger_files - command: archive.targz_pack - params: - target: "src/mongo-hanganalyzer.tgz" - source_dir: "src" - include: - - "./debugger*.*" - - "archive hang analyzer debugger files": &archive_hang_analyzer_debugger_files - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/mongo-hanganalyzer.tgz - remote_file: ${project}/${build_variant}/${revision}/hanganalyzer/mongo-hanganalyzer-${build_id}-${task_name}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Hang Analyzer Output - Execution ${execution} - optional: true - - "save hang analyzer debugger files": - - *tar_hang_analyzer_debugger_files - - *archive_hang_analyzer_debugger_files - - ### Process & archive disk statistic artifacts ### - "tar disk statistics": &tar_disk_statistics - command: archive.targz_pack - params: - target: "diskstats.tgz" - source_dir: "./" - include: - - "./mongo-diskstats*" - - "./mongo-diskstats*.csv" - - "archive disk statistics": &archive_disk_statistics - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: diskstats.tgz - remote_file: ${project}/${build_variant}/${revision}/diskstats/mongo-diskstats-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Disk Stats - Execution ${execution} - optional: true - - "save disk statistics": - - *tar_disk_statistics - - *archive_disk_statistics - - "save libfuzzertest corpora": - - *archive_new_corpus - - *upload_new_corpus - - *upload_new_corpus_mciuploads - - ### Process & archive system resource artifacts ### - "tar system resource information": &tar_system_resource_information - command: archive.targz_pack - params: - target: "system-resource-info.tgz" - source_dir: src - include: - - "./system_resource_info*" - - "archive system resource information": &archive_system_resource_information - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: system-resource-info.tgz - remote_file: ${project}/${build_variant}/${revision}/systemresourceinfo/mongo-system-resource-info-${task_id}-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: System Resource Info - Execution ${execution} - optional: true - - "save system resource information": - - *tar_system_resource_information - - *archive_system_resource_information - - "tar UndoDB recordings": &tar_undodb_recordings - command: archive.targz_pack - params: - target: undodb-recordings.tgz - source_dir: src - include: - - "./*.undo.tokeep" - - "./*.undo" - - "archive UndoDB recordings": &archive_undodb_recordings - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: undodb-recordings.tgz - remote_file: ${project}/${build_variant}/${revision}/undo/undodb-recordings-${task_id}-execution-${execution}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: UndoDB Recordings - Execution ${execution} - optional: true - - "save UndoDB recordings": - - *tar_undodb_recordings - - *archive_undodb_recordings - - ### Attach report & artifacts ### - "attach scons logs": - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/build/scons/config.log - remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-config.log.${build_id}-${task_name}-${execution} - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: SCons configure log - - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/scons_cache.log - content_type: text/plain - remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-cache.log.${build_id}-${task_name}.${execution} - bucket: mciuploads - permissions: public-read - display_name: SCons cache debug log - - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/scons_stdout.log - content_type: text/plain - remote_file: ${project}/${build_variant}/${revision}/artifacts/scons-stdout.log.${build_id}-${task_name}.${execution} - bucket: mciuploads - permissions: public-read - display_name: SCons stdout log - - - *f_expansions_write - - command: subprocess.exec - params: - continue_on_err: true - binary: bash - args: - - "./src/evergreen/scons_splunk.sh" - - "send scons cedar report": - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/scons_metrics_report.sh" - - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/perf_submission.sh" - env: - perf_file_path: src/scons_cedar_report.json - include_expansions_in_env: - - requester - - revision_order_id - - project_id - - version_id - - build_variant - - parsed_order_id - - task_name - - task_id - - execution - - is_mainline - type: test - - "attach report": - command: attach.results - params: - file_location: ${report_file|src/report.json} - - "attach artifacts": - command: attach.artifacts - params: - optional: true - ignore_artifacts_for_spawn: false - files: - - ${archive_file|src/archive.json} - - "attach wiki page": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/wiki_page.sh" - - command: attach.artifacts - params: - files: - - wiki_page_location.json - - "attach local resmoke invocation": - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/local-resmoke-invocation.txt - remote_file: ${project}/${build_variant}/${revision}/local-resmoke-invocation-${task_id}-${execution}.txt - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: Resmoke.py Invocation for Local Usage - - "cleanup external auth test artifacts": - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/sasl_windows_cyrussasl_teardown.sh" - - "log into devprod container registry": - - command: ec2.assume_role - params: - role_arn: ${ecr_role_evergreen_arn} - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - include_expansions_in_env: - [AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN] - args: - - "./src/evergreen/container_registry_login.sh" - -# Pre task steps -pre: -- func: "set task expansion macros" -- func: "f_expansions_write" - -# Post task steps -post: -- func: "f_expansions_write" -- func: "upload npm logs" -- func: "attach local resmoke invocation" -- func: "attach report" -- func: "attach artifacts" -- func: "save ec2 task artifacts" -- func: "attach wiki page" -- func: "upload jstestfuzz minimized output" -- 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" -- func: "cleanup jepsen docker test" -- func: "cleanup external auth test artifacts" - -# Timeout steps -timeout: -- func: "f_expansions_write" -- func: "run hang analyzer" -- func: "wait for resmoke to shutdown" - -####################################### -# Tasks # -####################################### -tasks: - -## compile - build all scons targets except unittests ## -- name: compile_dist_test - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: >- - install-dist-test - ${additional_compile_targets|} - task_compile_flags: >- - PREFIX=dist-test - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/record_mongodb_server_version.sh" - - "./build/install/dist-test/bin/mongod" - - "./version_info_mongod.txt" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/version_info_mongod.txt - remote_file: ${project}/${build_variant}/${version_id}/version-info-mongod-${task_id}.txt - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: mongod --version output - -## compile - build all scons targets except unittests ## -- name: compile_dist_test_half - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: >- - compile_first_half_non_test_source - ${additional_compile_targets|} - task_compile_flags: >- - PREFIX=dist-test - -- name: determine_patch_tests - commands: - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/gen_patch_test_tags.sh" - -- name: archive_dist_test - tags: [] - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: >- - archive-dist-test - task_compile_flags: >- - PREFIX=dist-test - - command: subprocess.exec - params: - binary: bash - add_expansions_to_env: true - args: - - "src/evergreen/run_python_script.sh" - - "evergreen/macos_notary.py" - - "mongodb-binaries.${ext|tgz}" - - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/mongodb-binaries.${ext|tgz} - remote_file: ${mongo_binaries} - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Binaries - - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/gen_feature_flags.sh" - - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/get_bin_and_fcv_versions.sh" - - - command: archive.targz_pack - params: - target: "artifacts.tgz" - source_dir: "src" - include: - - ".resmoke_mongo_version.yml" - - ".resmoke_mongo_release_values.yml" - - "patch_test_tags.tgz" - - "./build/**.gcno" - - "./etc/*san.suppressions" - - "./etc/backports_required_for_multiversion_tests.yml" - - "./etc/evergreen_timeouts.yml" - - "./etc/expansions.default.yml" - - "./etc/evergreen_nightly.yml" - - "./etc/evergreen.yml" - - "./etc/evergreen_yml_components/**" - - "./etc/pip/**" - - "./etc/repo_config.yaml" - - "./etc/scons/**" - - "./etc/macos_dev_entitlements.xml" - - "buildscripts/**" - - "all_feature_flags.txt" # Must correspond to the definition in buildscripts/idl/lib.py. - - "jstests/**" - - "patch_files.txt" - - "evergreen/**" - - "src/mongo/client/sdam/json_tests/sdam_tests/**" - - "src/mongo/client/sdam/json_tests/server_selection_tests/**" - - "src/mongo/db/modules/enterprise/docs/**" - - "src/mongo/db/modules/enterprise/jstests/**" - - "src/mongo/db/modules/subscription/jstests/**" - - "src/mongo/util/options_parser/test_config_files/**" - - "src/third_party/JSON-Schema-Test-Suite/tests/draft4/**" - - "src/third_party/mock_ocsp_responder/**" - - "src/third_party/schemastore.org/**" - exclude_files: - - "*_test.pdb" - - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: artifacts.tgz - remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}.tgz - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/tar - display_name: Artifacts - - - command: archive.targz_pack - params: - target: "venv.tgz" - source_dir: "./" - include: - - "./venv/**" - - "./venv_readme.txt" - - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: venv.tgz - remote_file: ${project}/${build_variant}/${revision}/venv/${build_id}.tgz - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/tar - display_name: Python venv (see included venv_readme.txt) - -- name: archive_dist_test_debug - tags: [] - depends_on: - - name: archive_dist_test - commands: - - func: "scons compile" - vars: - targets: >- - archive-dist-test-debug - task_compile_flags: >- - PREFIX=dist-test - - - func: "upload debugsymbols" - -- name: compile_ninja - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --ninja - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "build.ninja" - -- name: compile_ninja_default_profile - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --build-profile=default - --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - --ninja - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "build.ninja" - -- name: compile_ninja_opt_profile - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --build-profile=opt - CCACHE= - ICECC= - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "opt.ninja" - -- name: compile_ninja_fast_profile - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --build-profile=fast - CCACHE= - ICECC= - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "fast.ninja" - -- name: compile_ninja_san_profile - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --build-profile=san - CCACHE= - ICECC= - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "san.ninja" - -- name: compile_ninja_next - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - generating_for_ninja: true - separate_debug: off - task_compile_flags: >- - --build-tools=next - --ninja - - *f_expansions_write - - func: "ninja compile" - vars: - ninja_file: "build.ninja" - -- name: compile_build_tools_next - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - task_compile_flags: >- - --build-tools=next - targets: - install-core - -- name: libdeps_graph_linting - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/libdeps_setup.sh" - - - func: "scons compile" - vars: - task_compile_flags: >- - --link-model=dynamic - --build-tools=next - targets: - generate-libdeps-graph - - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/libdeps_run.sh" - - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/results.txt - remote_file: ${project}/${build_variant}/${revision}/artifacts/libdeps-results.txt.${build_id}-${task_name}.${execution} - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: Libdeps Linter Results - - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/libdeps.graphml.gz - remote_file: ${project}/${build_variant}/${revision}/artifacts/libdeps.graphml.${build_id}-${task_name}.${execution}.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Libdeps Graph Data - -## compile_all - build all scons targets ## -- name: compile_all - tags: [] - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-all-meta - compiling_for_test: true - -- name: compile_all_but_not_unittests - tags: [] - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-all-meta-but-not-unittests - compiling_for_test: true - -- name: compile_and_run_unittests_first_quarter - exec_timeout_secs: 21600 # 6 hours - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-first-quarter-unittests install-first-quarter-unittests-debug - compiling_for_test: true - - func: "f_expansions_write" - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: unittests_first_quarter - install_dir: build/install/bin - exec_timeout_secs: 21600 # 6 hours - -- name: compile_and_run_unittests_second_quarter - exec_timeout_secs: 21600 # 6 hours - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-second-quarter-unittests install-second-quarter-unittests-debug - compiling_for_test: true - - func: "f_expansions_write" - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: unittests_second_quarter - install_dir: build/install/bin - exec_timeout_secs: 21600 # 6 hours - -- name: compile_and_run_unittests_third_quarter - exec_timeout_secs: 21600 # 6 hours - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-third-quarter-unittests install-third-quarter-unittests-debug - compiling_for_test: true - - func: "f_expansions_write" - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: unittests_third_quarter - install_dir: build/install/bin - exec_timeout_secs: 21600 # 6 hours - -- name: compile_and_run_unittests_fourth_quarter - exec_timeout_secs: 21600 # 6 hours - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-fourth-quarter-unittests install-fourth-quarter-unittests-debug - compiling_for_test: true - - func: "f_expansions_write" - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: unittests_fourth_quarter - install_dir: build/install/bin - exec_timeout_secs: 21600 # 6 hours - -## clang_tidy - run clang_tidy -- name: clang_tidy - tags: [] - exec_timeout_secs: 3600 # 1 hour timeout for the task overall - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - task_compile_flags: >- - --build-profile=compiledb - targets: generated-sources compiledb - compiling_for_test: true - - command: subprocess.exec - type: test - timeout_secs: 3600 # 1 hour timeout for no output - params: - binary: bash - args: - - "./src/evergreen/run_clang_tidy.sh" - -## compile_unittests ## -- &compile_unittests - name: compile_unittests - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-unittests install-unittests-debug - compiling_for_test: true - -## A copy of the compile_unittests task for the recorded unittest taskgroup ## -- <<: *compile_unittests - name: compile_unittests_for_recorded_unittest - -## run_unittests ## -- name: run_unittests - tags: [] - depends_on: - - name: compile_unittests - commands: - - *f_expansions_write - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: unittests - install_dir: build/install/bin - -## run_unittests with UndoDB live-record ## -#- name: run_unittests_with_recording -# depends_on: -# - name: compile_unittests_for_recorded_unittest -# commands: -# - *f_expansions_write -# - func: "run diskstats" -# - func: "f_expansions_write" -# - func: "monitor process threads" -# - func: "collect system resource info" -# - command: subprocess.exec -# params: -# binary: bash -# args: -# - "./src/evergreen/undo_wiki_page.sh" -# - command: attach.artifacts -# params: -# files: -# - undo_wiki_page_location.json -# - func: "run tests" -# vars: -# suite: unittests -# record_with: --recordWith /opt/undodb5/bin/live-record -# # Start fewer jobs since there's a constant amount of overhead of starting -# # live-record for each job. -# resmoke_jobs_factor: 0.3 -# install_dir: build/install/bin - - -##compile_and_archive_libfuzzertests - build libfuzzertests ## -- name: compile_and_archive_libfuzzertests - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: archive-fuzzertests - compiling_for_test: true - # Store the fuzzer executable, which we use to generate and run fuzzer inputs. - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/fuzzertests-runtime.tgz" - remote_file: "${project}/libfuzzer-tests/${build_variant}/${revision}/libfuzzer-tests.tgz" - bucket: mciuploads - permissions: private - visibility: signed - content_type: application/tar - display_name: "LibFuzzer Tests" - -## fetch_and_run_libfuzzertests - get input corpora from s3 and run libfuzzertests ## -- name: fetch_and_run_libfuzzertests - tags: [] - commands: - - func: "fetch corpus" - - func: "fetch legacy corpus" - - func: "run tests" - vars: - suite: libfuzzer - -- name: server_discovery_and_monitoring_json_test - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: install-sdam-json-test - compiling_for_test: true - install_dir: build/install/bin - - func: "run tests" - vars: - suite: sdam_json_test - -- name: server_selection_json_test - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: install-server-selection-json-test - compiling_for_test: true - install_dir: build/install/bin - - func: "run tests" - -## compile_dbtest ## -- name: compile_dbtest - tags: [] - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-dbtest install-dbtest-debug - compiling_for_test: true - -## run_dbtest ## -- name: run_dbtest - tags: [] - depends_on: - - name: compile_dbtest - commands: - - *f_expansions_write - - func: "run diskstats" - - func: "f_expansions_write" - - func: "monitor process threads" - - func: "collect system resource info" - - func: "run tests" - vars: - suite: dbtest - install_dir: build/install/bin - -- name: archive_dbtest - tags: [] - depends_on: - - name: compile_dbtest - commands: - - func: "scons compile" - vars: - targets: archive-dbtest archive-dbtest-debug - compiling_for_test: true - -- name: compile_integration_test - tags: [] - depends_on: - - name: compile_dist_test - commands: - - func: "scons compile" - vars: - targets: install-integration-tests - compiling_for_test: true - -- name: compile_visibility_test - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "scons compile" - vars: - targets: archive-visibility-test-meta - task_compile_flags: >- - --ssl - --dbg=on - --opt=on - --link-model=dynamic - --visibility-support=on - - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/visibility-test-meta.${ext|tgz} - remote_file: ${project}/${build_variant}/${revision}/visibility-test-meta-${build_id}-${task_name}-${execution}.${ext|tgz} - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Binaries - -## embedded_sdk_build_and_test_* - build the embedded-dev and embedded-test targets only ## - -- name: embedded_sdk_build_cdriver - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - *get_version_expansions - - *apply_version_expansions - - func: f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/embedded_sdk_build_cdriver.sh" - -- name: embedded_sdk_install_dev - tags: [] - depends_on: - - name: embedded_sdk_build_cdriver - commands: - - func: "scons compile" - vars: - targets: install-embedded-dev - task_compile_flags: &embedded_sdk_compile_flags >- - --allocator=system - --dbg=off - --enable-http-client=off - --js-engine=none - --opt=size - --ssl=off - --use-system-mongo-c=on - DESTDIR='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION' - CPPPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libbson-1.0 $BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/include/libmongoc-1.0' - task_compile_flags_extra: >- - --link-model=dynamic-sdk - -- name: embedded_sdk_s3_put - tags: [] - depends_on: - - name: embedded_sdk_install_dev - commands: - - *get_version_expansions - - *apply_version_expansions - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/embedded_sdk_s3_tar.sh" - - # Upload it so we can download from EVG. - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/build/embedded-sdk.tgz" - remote_file: ${project}/embedded-sdk/${build_variant}/${revision}/mongo-embedded-sdk-${version}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: "Embedded SDK Tar Archive" - -- name: embedded_sdk_install_tests - tags: [] - depends_on: - - name: embedded_sdk_install_dev - commands: - - func: "scons compile" - vars: - targets: install-embedded-test - compiling_for_test: true - task_compile_flags: *embedded_sdk_compile_flags - task_compile_flags_extra: >- - --link-model=dynamic - # Unlike static builds, dynamic builds have no need to - # constrain the number of link jobs. Unfortunately, --jlink=1 - # means one link job, not 100%. So this is a bit gross but set - # it to .99. - num_scons_link_jobs_available: 0.99 - -- name: embedded_sdk_tests_s3_put - tags: [] - depends_on: - - name: embedded_sdk_install_tests - commands: - - *get_version_expansions - - *apply_version_expansions - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/embedded_sdk_tests_s3_tar.sh" - - # Upload it so we can download from EVG. - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/build/embedded-sdk-tests.tgz" - remote_file: ${project}/embedded-sdk-test/${build_variant}/${revision}/mongo-embedded-sdk-test-${version}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: "Embedded SDK Tests Tar Archive" - -- name: embedded_sdk_run_tests - tags: [] - depends_on: - - name: embedded_sdk_install_tests - commands: - - *get_version_expansions - - *apply_version_expansions - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/embedded_sdk_run_tests.sh" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/embedded_sdk_run_tests_post.sh" - -- name: embedded_sdk_s3_put_latest - tags: [] - depends_on: - - name: embedded_sdk_run_tests - commands: - - *get_version_expansions - - *apply_version_expansions - # A second put, this time to -latest, to give devs a reasonable - # way to get the most recent build. - - command: s3.put - params: - visibility: none - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/build/embedded-sdk.tgz" - remote_file: ${project}/embedded-sdk/mongo-${build_variant}-latest.tgz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - -- name: embedded_sdk_tests_s3_put_latest - tags: [] - depends_on: - - name: embedded_sdk_run_tests - commands: - - *get_version_expansions - - *apply_version_expansions - # 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_community_only - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - *f_expansions_write - - func: "scons compile" - vars: - targets: install-stitch-support install-stitch-support-debug install-stitch-support-dev - task_compile_flags: >- - --link-model=dynamic-sdk - --ssl=off - --enable-http-client=off - --modules= - DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION' - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/stitch_support_create_lib_tar.sh" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/build/stitch-support.tgz" - remote_file: "${project}/stitch-support/${build_variant}/${revision}/stitch-support-${version}.tgz" - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: "Stitch Support Library" - -- name: stitch_support_install_tests_community_only - tags: [] - depends_on: - - name: stitch_support_create_lib_community_only - commands: - - func: "scons compile" - vars: - targets: install-stitch-support-test - compiling_for_test: true - task_compile_flags: >- - --ssl=off - --enable-http-client=off - --modules= - DESTDIR='$BUILD_ROOT/stitch-support-lib-$MONGO_VERSION' - -- name: stitch_support_run_tests_community_only - tags: [] - depends_on: - - name: stitch_support_install_tests_community_only - commands: - - func: "get and apply version expansions" - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/stitch_support_run_tests.sh" - -- name: crypt_create_lib - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - *f_expansions_write - - func: "scons compile" - vars: - targets: archive-mongo-crypt-dev - task_compile_flags: >- - --allocator=system - --enterprise-features=fle,search,vector_search - --js-engine=none - --link-model=dynamic-sdk - --enable-http-client=off - --ssl=off - ${crypt_task_compile_flags} - DESTDIR='$BUILD_ROOT/crypt-lib-$MONGO_VERSION' - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/crypt_run_tests.sh" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/mongo-crypt-dev.${ext|tgz}" - remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1-${version}.${ext|tgz}" - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/tar} - display_name: "Mongo crypt Library" - -- name: crypt_create_debug_lib - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - *f_expansions_write - - func: "scons compile" - vars: - targets: archive-mongo-crypt-dev archive-mongo-crypt-debug - task_compile_flags: >- - --dbg=on - --opt=off - --allocator=system - --enterprise-features=fle,search,vector_search - --js-engine=none - --link-model=dynamic-sdk - DESTDIR='$BUILD_ROOT/crypt-lib-$MONGO_VERSION' - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/mongo-crypt-dev.${ext|tgz}" - remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1_dev-${version}.${ext|tgz}" - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/tar} - display_name: "Mongo Crypt Library dev" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/mongo-crypt-debug.${ext|tgz}" - remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1_debug-${version}.${ext|tgz}" - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/tar} - display_name: "Mongo Crypt Library debug" - -- name: crypt_install_tests - tags: [] - depends_on: - - name: crypt_create_debug_lib - commands: - - *f_expansions_write - - func: "scons compile" - vars: - targets: archive-mongo-crypt-shlib-test - compiling_for_test: true - task_compile_flags: >- - --allocator=system - --enterprise-features=fle,search,vector_search - --js-engine=none - --link-model=static - DESTDIR='$BUILD_ROOT/crypt-lib-$MONGO_VERSION' - RPATH='$$RPATH_ESCAPED_DOLLAR_ORIGIN/../lib' - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: "src/mongo-crypt-shlib-test-runtime.${ext|tgz}" - remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shlib_test-${version}.${ext|tgz}" - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/tar} - display_name: "Mongo Crypt Shared Library Test" - -- name: crypt_run_tests - tags: [] - depends_on: - - name: crypt_install_tests - commands: - - func: "get and apply version expansions" - - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/crypt_run_tests.sh" - -- name: compile_benchmarks - tags: [] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up credentials" - - func: "use WiredTiger develop" # noop if ${use_wt_develop} is not "true" - - func: "set up win mount script" - - func: "generate compile expansions" - # Then we load the generated version data into the agent so we can use it in task definitions - - func: "apply compile expansions" - - func: "scons compile" - vars: - targets: install-benchmarks - compiling_for_test: true - - func: "attach scons logs" - - func: "send scons cedar report" - - command: archive.targz_pack - params: - target: "benchmarks.tgz" - source_dir: "src" - include: - - "./build/benchmarks.txt" - - "./build/**_bm" - - "./build/**_bm.gcno" - - "./build/**_bm.exe" - - "./build/**_bm.pdb" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: benchmarks.tgz - remote_file: ${project}/${build_variant}/${revision}/benchmarks/${build_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/tar - display_name: Benchmarks - -## lint ## -- name: lint_pylinters - tags: ["lint"] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - *f_expansions_write - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "scons lint" - vars: - targets: lint-pylinters - -- name: lint_clang_format - tags: ["lint"] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - *f_expansions_write - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "scons lint" - vars: - targets: lint-clang-format - -- name: lint_eslint - tags: ["lint"] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - *f_expansions_write - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "scons lint" - vars: - targets: lint-eslint - -- name: lint_cpplint - tags: ["lint"] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - *f_expansions_write - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "scons lint" - vars: - targets: lint-lint.py - -- name: lint_yaml - tags: ["lint"] - depends_on: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "f_expansions_write" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/lint_yaml.sh" - -- name: lint_shellscripts - tags: ["lint"] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/lint_shellscripts.sh" - -- name: lint_errorcodes - tags: ["lint"] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "scons lint" - vars: - targets: lint-errorcodes - -- name: test_api_version_compatibility - tags: [] - depends_on: - - name: archive_dist_test - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "do setup" - - func: "f_expansions_write" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/check_idl_compat.sh" - -- <<: *gen_burn_in_task_template - name: burn_in_tests_gen - tags: [] - patch_only: true - commands: - - func: "generate resmoke tasks" - -- <<: *gen_burn_in_task_template - name: burn_in_tags_gen - tags: [] - patch_only: true - commands: - - func: "generate resmoke tasks" - -- <<: *gen_burn_in_task_template - name: burn_in_tasks_gen - tags: [] - patch_only: true - commands: - - func: "generate resmoke tasks" - -- <<: *benchmark_template - name: benchmarks_orphaned - tags: ["benchmarks"] - commands: - - func: "do benchmark setup" - - func: "run tests" - vars: - suite: benchmarks - exec_timeout_secs: 14400 # 4 hour timeout. - resmoke_jobs_max: 1 - - func: "send benchmark results" -# - func: "analyze benchmark results" - vars: - suite: benchmarks - -- <<: *benchmark_template - name: benchmarks_sharding - tags: ["benchmarks"] - commands: - - func: "do benchmark setup" - - func: "run tests" - vars: - suite: benchmarks_sharding - resmoke_jobs_max: 1 - - func: "send benchmark results" -# - func: "analyze benchmark results" - -# Disabled under SERVER-64949. -# - <<: *benchmark_template -# name: benchmarks_cst -# tags: ["benchmarks"] -# commands: -# - func: "do benchmark setup" -# - func: "run tests" -# vars: -# suite: benchmarks_cst -# resmoke_jobs_max: 1 -# - func: "send benchmark results" -# - func: "analyze benchmark results" - -- <<: *run_jepsen_template - name: jepsen_register_findAndModify - tags: ["jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_read_with_find_and_modify: --read-with-find-and-modify - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: register - -- <<: *run_jepsen_template - name: jepsen_register_linearizableRead - tags: ["jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_read_concern: --read-concern linearizable - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: register - -- <<: *run_jepsen_template - name: jepsen_set_linearizableRead - tags: ["jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_read_concern: --read-concern linearizable - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: set - -- <<: *run_jepsen_template - name: jepsen_read-concern-majority - tags: ["jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - -# Smoke test to ensure the Server still works with Jepsen -- <<: *run_jepsen_template - name: jepsen-smoke - tags: [] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - jepsen_time_limit: --time-limit 120 - -- <<: *run_jepsen_template - name: jepsen_read-concern-majority_w1 - tags: ["jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - jepsen_write_concern: --write-concern w1 - -- <<: *run_jepsen_template - name: jepsen_list-append - tags: ["jepsen_docker"] - commands: - - func: "do setup" - - func: "do jepsen docker setup" - - func: "run jepsen docker test" - -## initial sync multiversion fuzzer ## -- <<: *jstestfuzz_template - name: initial_sync_multiversion_fuzzer_gen - tags: ["multiversion_fuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - initial_sync_fuzzer_last_lts: last_lts - initial_sync_fuzzer_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: initsync-fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - run_no_feature_flag_tests: "true" - -## initial sync generational fuzzer ## -- <<: *jstestfuzz_template - name: initial_sync_fuzzer_gen - tags: ["require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: initsync-fuzzer - suite: initial_sync_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## Standalone generational fuzzer for multiversion aggregation pipelines ## -- <<: *jstestfuzz_template - name: aggregation_multiversion_fuzzer_gen - tags: ["aggfuzzer", "common", "multiversion", "require_npm", "random_name", "future_git_tag_incompatible"] - commands: - - func: "initialize multiversion tasks" - vars: - aggregation_multiversion_fuzzer_last_lts: last_lts - aggregation_multiversion_fuzzer_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - jstestfuzz_vars: --numPipelines=3000 - npm_command: agg-fuzzer - run_no_feature_flag_tests: "true" - -## Standalone generational fuzzer for multiversion aggregation expressions ## -- <<: *jstestfuzz_template - name: aggregation_expression_multiversion_fuzzer_gen - tags: ["aggfuzzer", "multiversion", "require_npm", "random_name"] - commands: - - func: "initialize multiversion tasks" - vars: - aggregation_expression_multiversion_fuzzer_last_lts: last_lts - aggregation_expression_multiversion_fuzzer_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: agg-expr-fuzzer - run_no_feature_flag_tests: "true" - -## Standalone generational fuzzer for checking optimized and unoptimized expression equivalence -- <<: *jstestfuzz_template - name: aggregation_expression_optimization_fuzzer_gen - tags: ["aggfuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode optimization - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: agg-expr-fuzzer - -## Standalone generational fuzzer for checking optimized and unoptimized aggregation pipelines -- <<: *jstestfuzz_template - name: aggregation_optimization_fuzzer_gen - tags: ["aggfuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode optimization --numPipelines=3000 - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: agg-fuzzer - -## Standalone fuzzer for checking wildcard index correctness ## -- <<: *jstestfuzz_template - name: aggregation_wildcard_fuzzer_gen - tags: ["aggfuzzer", "common", "wildcard", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode wildcard --numPipelines=3000 - npm_command: agg-fuzzer - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## Standalone fuzzer for checking timeseries optimizations correctness ## -- <<: *jstestfuzz_template - name: aggregation_timeseries_fuzzer_gen - tags: ["aggfuzzer", "common", "timeseries", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode timeseries --numPipelines=750 - npm_command: agg-fuzzer - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## Standalone generational fuzzer for checking optimized and unoptimized change stream pipelines ## -- <<: *jstestfuzz_template - name: change_stream_optimization_fuzzer_gen - tags: ["change_stream_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode optimization - npm_command: change-stream-fuzzer - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz standalone fuzzer for checking find and aggregate equivalence ## -- <<: *jstestfuzz_template - name: query_fuzzer_standalone_gen - tags: ["query_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke 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}}'" - -## jstestfuzz sharded fuzzer for checking find and aggregate equivalence ## -- <<: *jstestfuzz_template - name: query_fuzzer_sharded_gen - tags: ["query_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode sharded - npm_command: query-fuzzer - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz standalone update generational fuzzer ## -- <<: *jstestfuzz_template - name: update_fuzzer_gen - tags: ["updatefuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - update_fuzzer_last_lts: last_lts - update_fuzzer_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - npm_command: update-fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - run_no_feature_flag_tests: "true" - -## jstestfuzz standalone update time-series generational fuzzer ## -- <<: *jstestfuzz_template - name: update_timeseries_fuzzer_gen - tags: ["updatefuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --diffTestingMode timeseries - npm_command: update-fuzzer - suite: generational_fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz replication update generational fuzzer ## -- <<: *jstestfuzz_template - name: update_fuzzer_replication_gen - tags: ["updatefuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - update_fuzzer_replication_last_lts: last_lts - update_fuzzer_replication_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - npm_command: update-fuzzer - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - run_no_feature_flag_tests: "true" - -## rollback multiversion fuzzer ## -- <<: *jstestfuzz_template - name: rollback_multiversion_fuzzer_gen - tags: ["multiversion_fuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - rollback_fuzzer_last_lts: last_lts - rollback_fuzzer_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 3 - num_tasks: 5 - npm_command: 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}'" - run_no_feature_flag_tests: "true" - -## rollback generational fuzzer ## -- <<: *jstestfuzz_template - name: rollback_fuzzer_gen - tags: ["rollbackfuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 3 - num_tasks: 5 - npm_command: rollback-fuzzer - suite: rollback_fuzzer - # Rollback suites create indexes with majority of nodes not available for replication. So, disabling - # index build commit quorum. - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'" - -## rollback generational fuzzer with clean shutdowns ## -- <<: *jstestfuzz_template - name: rollback_fuzzer_clean_shutdowns_gen - tags: ["rollbackfuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 1 - num_tasks: 4 - jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50 - npm_command: rollback-fuzzer - suite: rollback_fuzzer_clean_shutdowns - # Rollback suites create indexes with majority of nodes not available for replication. So, disabling - # index build commit quorum. - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'" - -## rollback generational fuzzer with unclean shutdowns ## -- <<: *jstestfuzz_template - name: rollback_fuzzer_unclean_shutdowns_gen - tags: ["rollbackfuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 1 - num_tasks: 4 - jstestfuzz_vars: --numLinesPerFile 300 --maxLinesBetweenEvents 50 - npm_command: rollback-fuzzer - suite: rollback_fuzzer_unclean_shutdowns - # Rollback suites create indexes with majority of nodes not available for replication. So, disabling - # index build commit quorum. - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}'" - -## jstestfuzz ## -- <<: *jstestfuzz_template - name: jstestfuzz_gen - tags: ["jstestfuzz", "common", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: jstestfuzz - -## jstestfuzz concurrent ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_gen - tags: ["jstestfuzz", "common", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent replica set ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_replication_gen - tags: ["jstestfuzz", "common", "repl", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent replica set with logical session ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_replication_session_gen - tags: ["jstestfuzz", "session", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_session - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent sharded cluster ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_sharded_gen - tags: ["jstestfuzz", "common", "sharding", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent sharded cluster causal consistency ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_sharded_causal_consistency_gen - tags: ["jstestfuzz", "causal", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_causal_consistency - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent sharded cluster continuous stepdown ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_sharded_continuous_stepdown_gen - tags: ["jstestfuzz", "stepdowns", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 2 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_continuous_stepdown - resmoke_args: --numClientsPerFixture=10 - -## jstestfuzz concurrent sharded cluster with logical session ## -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_sharded_session_gen - tags: ["jstestfuzz", "session", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: ${jstestfuzz_concurrent_num_files|10} - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_session - resmoke_args: --numClientsPerFixture=10 - -# jstestfuzz interrupt # -- <<: *jstestfuzz_template - name: jstestfuzz_interrupt_gen - tags: ["jstestfuzz", "interrupt", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_interrupt - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -# jstestfuzz interrupt # -- <<: *jstestfuzz_template - name: jstestfuzz_interrupt_replication_gen - tags: ["jstestfuzz", "interrupt", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_interrupt_replication - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -# jstestfuzz write conflict # -- <<: *jstestfuzz_template - name: jstestfuzz_replication_write_conflicts_gen - tags: ["jstestfuzz", "write_conflict", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_write_conflicts - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -# jstestfuzz concurrent conflict # -- <<: *jstestfuzz_template - name: jstestfuzz_concurrent_replication_write_conflicts_gen - tags: ["jstestfuzz", "write_conflict", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_write_conflicts - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}' --numClientsPerFixture=10" - -# jstestfuzz interrupt with flow control engaged # -- <<: *jstestfuzz_template - name: jstestfuzz_interrupt_replication_flow_control_gen - tags: ["jstestfuzz", "interrupt", "flow_control", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 2 - num_tasks: 1 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_interrupt_replication - resmoke_args: "--flowControlTicketOverride=1 --mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz sharded cluster continuous stepdown with flow control engaged ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_continuous_stepdown_flow_control_gen - tags: ["jstestfuzz", "flow_control", "stepdowns", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 2 - num_tasks: 1 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_continuous_stepdown - resmoke_args: >- - --flowControlTicketOverride=3 - --mongodSetParameters="{logComponentVerbosity: {command: 2}}" - -## 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", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 2 - num_tasks: 1 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_continuous_stepdown - resmoke_args: >- - --flowControlTicketOverride=30 - --numClientsPerFixture=10 - -# jstestfuzz replication continuous stepdown with flow control engaged # -- <<: *jstestfuzz_template - name: jstestfuzz_replication_continuous_stepdown_flow_control_gen - tags: ["jstestfuzz", "repl", "flow_control", "stepdowns", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 2 - num_tasks: 1 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_continuous_stepdown - resmoke_args: >- - --flowControlTicketOverride=1 - --mongodSetParameters="{logComponentVerbosity: {command: 2}}" - -## 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", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 2 - num_tasks: 1 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_continuous_stepdown - resmoke_args: >- - --flowControlTicketOverride=10 - --numClientsPerFixture=10 - -## jstestfuzz replica set ## -- <<: *jstestfuzz_template - name: jstestfuzz_replication_gen - tags: ["jstestfuzz", "common", "repl", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz replica set multiversion ## -- <<: *jstestfuzz_template - name: jstestfuzz_replication_multiversion_gen - tags: ["multiversion_fuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - jstestfuzz_replication_last_continuous_new_new_old: last_continuous - jstestfuzz_replication_last_continuous_new_old_new: last_continuous - jstestfuzz_replication_last_continuous_old_new_new: last_continuous - jstestfuzz_replication_last_lts_new_new_old: last_lts - jstestfuzz_replication_last_lts_new_old_new: last_lts - jstestfuzz_replication_last_lts_old_new_new: last_lts - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: jstestfuzz - run_no_feature_flag_tests: "true" - -## jstestfuzz initial sync replica set ## -- <<: *jstestfuzz_template - name: jstestfuzz_replication_initsync_gen - tags: ["jstestfuzz", "initsync", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 8 - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_initsync - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz file copy based initial sync replica set ## -- <<: *jstestfuzz_template - name: jstestfuzz_replication_fcbis_gen - tags: ["jstestfuzz", "initsync", "fcbis", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 8 - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_fcbis - resmoke_args: --storageEngine=wiredTiger - name: jstestfuzz_replication_fcbis - -## jstestfuzz replica set with logical session ## -- <<: *jstestfuzz_template - name: jstestfuzz_replication_session_gen - tags: ["jstestfuzz", "session", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_replication_session - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz sharded cluster ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_gen - tags: ["jstestfuzz", "common", "sharding", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz sharded multiversion cluster ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_multiversion_gen - tags: ["multiversion_fuzzer", "require_npm", "random_name", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - jstestfuzz_sharded_last_continuous_new_old_old_new: last_continuous - jstestfuzz_sharded_last_lts_new_old_old_new: last_lts - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - npm_command: jstestfuzz - run_no_feature_flag_tests: "true" - -## jstestfuzz sharded cluster causal consistency ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_causal_consistency_gen - tags: ["jstestfuzz", "causal", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_causal_consistency - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz sharded cluster continuous stepdown ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_continuous_stepdown_gen - tags: ["jstestfuzz", "stepdowns", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 5 - num_tasks: 5 - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_continuous_stepdown - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## jstestfuzz sharded cluster with logical session ## -- <<: *jstestfuzz_template - name: jstestfuzz_sharded_session_gen - tags: ["jstestfuzz", "session", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - jstestfuzz_vars: --jsTestsDir ../jstests - suite: jstestfuzz_sharded_session - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" - -## resharding generational fuzzer ## -- <<: *jstestfuzz_template - name: resharding_fuzzer_inplace_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: --numDonors 2 --numRecipients 2 --inPlace yes - suite: resharding_fuzzer - -- <<: *jstestfuzz_template - name: resharding_fuzzer_split_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: --numDonors 1 --numRecipients 2 --inPlace no - suite: resharding_fuzzer - -- <<: *jstestfuzz_template - name: resharding_fuzzer_merge_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: --numDonors 2 --numRecipients 1 --inPlace no - suite: resharding_fuzzer - -- <<: *jstestfuzz_template - name: resharding_fuzzer_shuffle_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace no - suite: resharding_fuzzer - -- <<: *jstestfuzz_template - name: resharding_fuzzer_idempotency_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace no - suite: resharding_fuzzer_idempotency - -- <<: *jstestfuzz_template - name: resharding_fuzzer_stepup_gen - tags: ["resharding_fuzzer", "require_npm", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - <<: *jstestfuzz_config_vars - num_files: 10 - num_tasks: 5 - npm_command: resharding-fuzzer - jstestfuzz_vars: >- - --numDonors 3 --numRecipients 3 --inPlace yes - --electionMech stepup --electionRole donor --electionRole recipient - suite: resharding_fuzzer - -## Tests that the multiversion test generation logic is not broken. -- <<: *gen_task_template - name: multiversion_sanity_check_gen - tags: ["multiversion", "multiversion_sanity_check"] - commands: - - func: "initialize multiversion tasks" - vars: - multiversion_sanity_check_last_continuous_new_new_old: last_continuous - multiversion_sanity_check_last_continuous_new_old_new: last_continuous - multiversion_sanity_check_last_continuous_old_new_new: last_continuous - multiversion_sanity_check_last_lts_new_new_old: last_lts - multiversion_sanity_check_last_lts_new_old_new: last_lts - multiversion_sanity_check_last_lts_old_new_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: replica_sets_jscore_multiversion_gen - tags: ["multiversion", "multiversion_passthrough"] - commands: - - func: "initialize multiversion tasks" - vars: - replica_sets_jscore_passthrough_last_continuous_new_new_old: last_continuous - replica_sets_jscore_passthrough_last_continuous_new_old_new: last_continuous - replica_sets_jscore_passthrough_last_continuous_old_new_new: last_continuous - replica_sets_jscore_passthrough_last_lts_new_new_old: last_lts - replica_sets_jscore_passthrough_last_lts_new_old_new: last_lts - replica_sets_jscore_passthrough_last_lts_old_new_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - - -# Check that the mutational fuzzer can parse JS files modified in a patch build. -- name: lint_fuzzer_sanity_patch - tags: [] - patch_only: true - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *set_up_venv - - func: "get added and modified patch files" - - func: "setup jstestfuzz" - - func: "lint fuzzer sanity patch" - -# Check that the mutational fuzzer can parse all JS filess. -- name: lint_fuzzer_sanity_all - tags: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *set_up_venv - - func: "setup jstestfuzz" - - func: "lint fuzzer sanity all" - - -- name: sync_repo_with_copybara - tags: [] - patchable: false - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *set_up_venv - - func: "configure evergreen api credentials" - - *f_expansions_write - - func: "sync repo with copybara" - -## integration test suites ## - -- <<: *task_template - name: aggregation - tags: ["aggregation", "common"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_disabled_optimization - tags: ["aggregation", "common"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_ese - tags: ["aggregation", "encrypt"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_ese_gcm - tags: ["aggregation", "encrypt", "gcm"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_auth - tags: ["aggregation", "auth", "common"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_facet_unwind_passthrough - tags: ["aggregation", "unwind"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_mongos_passthrough - tags: ["aggregation", "no_async"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: aggregation_one_shard_sharded_collections - tags: ["aggregation", "no_async", "sharded"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *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_jobs_factor: 0.5 - -- <<: *gen_task_template - name: aggregation_secondary_reads_gen - tags: ["aggregation", "secondary_reads"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *task_template - name: aggregation_sharded_collections_passthrough - tags: ["aggregation", "common", "sharded"] - depends_on: - - name: aggregation - commands: - - func: "do setup" - - func: "run tests" - -- <<: *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" - -- <<: *task_template - name: audit - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: auth_gen - tags: ["auth"] - commands: - - func: "generate resmoke tasks" - -- name: version_gen - commands: - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate version" - vars: - run_covered_tests: true - -- name: version_burn_in_gen - commands: - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate version burn in" - vars: - run_covered_tests: true - -- name: version_expansions_gen - commands: - - command: manifest.load - - *git_get_project - - *f_expansions_write - - *add_git_tag - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate and upload version expansions" - -- name: selected_tests_gen - tags: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate selected tests" - -- <<: *gen_task_template - name: auth_audit_gen - tags: ["auth", "audit"] - commands: - - func: "generate resmoke tasks" - -- <<: *task_template - name: change_streams - tags: ["change_streams"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_v2_resume_token_passthrough - tags: ["change_streams"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: change_streams_multiversion_gen - tags: ["multiversion", "multiversion_passthrough"] - commands: - - func: "initialize multiversion tasks" - vars: - change_streams_last_continuous_new_new_old: last_continuous - change_streams_last_continuous_new_old_new: last_continuous - change_streams_last_continuous_old_new_new: last_continuous - change_streams_last_lts_new_new_old: last_lts - change_streams_last_lts_new_old_new: last_lts - change_streams_last_lts_old_new_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: change_streams_downgrade_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - change_streams_downgrade_last_continuous_new_old_old_new: last_continuous - change_streams_downgrade_last_lts_new_old_old_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *task_template - name: change_streams_update_v1_oplog - tags: ["change_streams"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_mongos_sessions_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_mongos_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_secondary_reads - tags: ["change_streams", "secondary_reads"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_sharded_collections_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: change_streams_v2_resume_token_sharded_collections_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: change_streams_sharded_collections_multiversion_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - change_streams_sharded_collections_passthrough_last_continuous_new_old_old_new: last_continuous - change_streams_sharded_collections_passthrough_last_lts_new_old_old_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: multiversion_future_git_tag_gen - tags: ["multiversion", "no_multiversion_generate_tasks", "multiversion_future_git_tag"] - commands: - - func: "generate resmoke tasks" - vars: - suite: multiversion_future_git_tag - -- <<: *gen_task_template - name: multiversion_auth_future_git_tag_gen - tags: ["auth", "multiversion", "no_multiversion_generate_tasks", "multiversion_future_git_tag"] - commands: - - func: "generate resmoke tasks" - vars: - suite: multiversion_auth_future_git_tag - -- <<: *task_template - name: change_streams_whole_db_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *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" - -- <<: *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" - -- <<: *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" - -- <<: *task_template - name: change_streams_whole_cluster_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *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" - -- <<: *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" - -- <<: *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" - -- <<: *task_template - name: change_streams_multi_stmt_txn_passthrough - tags: ["change_streams"] - depends_on: - - name: change_streams - commands: - - func: "do setup" - - func: "run tests" - -- <<: *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" - -- <<: *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" - -- <<: *task_template - name: change_streams_per_shard_cursor_passthrough - tags: ["change_streams"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: disk_wiredtiger - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: ese - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: failpoints - tags: ["misc_js"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: failpoints_auth - tags: ["auth"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: integration_tests_standalone - tags: ["integration", "standalone"] - depends_on: - - name: compile_integration_test - commands: - - *f_expansions_write - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - func: "run tests" - vars: - install_dir: build/install/bin - -- <<: *task_template - name: integration_tests_standalone_audit - tags: ["integration", "audit"] - depends_on: - - name: compile_integration_test - commands: - - *f_expansions_write - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - func: "run tests" - vars: - install_dir: build/install/bin - -- <<: *task_template - name: integration_tests_replset - tags: ["integration"] - depends_on: - - name: compile_integration_test - commands: - - *f_expansions_write - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - func: "run tests" - vars: - install_dir: build/install/bin - -- <<: *task_template - name: integration_tests_replset_ssl_auth - tags: ["integration"] - depends_on: - - name: compile_integration_test - commands: - - *f_expansions_write - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - func: "run tests" - vars: - install_dir: build/install/bin - -- <<: *task_template - name: integration_tests_sharded - tags: ["integration", "sharded"] - depends_on: - - name: compile_integration_test - commands: - - *f_expansions_write - - *run_diskstats - - *monitor_process_threads - - *collect_system_resource_info - - *collect_ulimit_info - - func: "run tests" - vars: - install_dir: build/install/bin - -- <<: *task_template - name: external_auth - tags: [] - commands: - - *f_expansions_write - - func: "do setup" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/external_auth_pip.sh" - - func: "run tests" - vars: - # TODO SERVER-64323 - # restore concurrency for this suite when the issue on windows is resolved. - resmoke_jobs_max: 1 - resmoke_args: --excludeWithAnyTags=requires_domain_controller - -- <<: *task_template - name: external_auth_aws - tags: [] - commands: - - *f_expansions_write - - func: "do setup" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - silent: true - args: - - "src/evergreen/external_auth_aws_setup.sh" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/external_auth_aws_pip.sh" - - func: "run tests" - - -- <<: *task_template - name: external_auth_windows - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: external_auth - resmoke_args: --includeWithAnyTags=requires_domain_controller - -- <<: *task_template - name: sasl_windows_cyrussasl - tags: ["assigned_to_jira_team_server_security", "sasl", "experimental"] - commands: - - func: "f_expansions_write" - - func: "do setup" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/sasl_windows_cyrussasl_setup.sh" - - func: "run tests" - -- <<: *task_template - name: jsCore - tags: ["jscore", "common"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core - -- <<: *task_template - name: config_fuzzer_jsCore - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core - resmoke_args: >- - --fuzzMongodConfigs - --excludeWithAnyTags=does_not_support_config_fuzzer - -- <<: *task_template - name: config_fuzzer_concurrency - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: concurrency - resmoke_args: >- - --fuzzMongodConfigs - --excludeWithAnyTags=does_not_support_config_fuzzer - -- <<: *task_template - name: config_fuzzer_simulate_crash_concurrency_replication - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: simulate_crash_concurrency_replication - resmoke_args: >- - --fuzzMongodConfigs - --excludeWithAnyTags=does_not_support_config_fuzzer - -- <<: *task_template - name: config_fuzzer_concurrency_replication - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: concurrency_replication - resmoke_args: >- - --fuzzMongodConfigs - --excludeWithAnyTags=does_not_support_config_fuzzer - -- <<: *task_template - name: config_fuzzer_replica_sets_jscore_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: replica_sets_jscore_passthrough - resmoke_args: >- - --fuzzMongodConfigs - --excludeWithAnyTags=does_not_support_config_fuzzer - -- <<: *task_template - name: jsCore_ese - tags: ["jscore", "encrypt"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_ese - -- <<: *task_template - name: jsCore_ese_gcm - tags: ["jscore", "encrypt", "gcm"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_ese_gcm - -- <<: *task_template - name: jsCore_auth - tags: ["jscore", "auth", "common"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_auth - -- <<: *task_template - name: jsCore_minimum_batch_size - tags: ["jscore"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_minimum_batch_size - -- <<: *task_template - name: jsCore_txns - tags: ["jscore", "common", "txns"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_txns - -- <<: *task_template - name: jsCore_txns_large_txns_format - tags: ["jscore", "txns", "multi_oplog"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: core_txns_large_txns_format - -- <<: *task_template - name: sharded_jscore_txns - tags: ["sharding", "jscore", "txns"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: sharded_jscore_txns_without_snapshot - tags: ["sharding", "wo_snapshot", "jscore"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: sharded_jscore_txns - resmoke_args: --excludeWithAnyTags=uses_snapshot_read_concern - -- <<: *task_template - name: sharded_jscore_txns_sharded_collections - tags: ["sharding", "jscore", "txns"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: cst_jscore_passthrough - tags: ["jscore"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: libunwind_tests - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: libunwind - -- <<: *task_template - name: causally_consistent_jscore_txns_passthrough - tags: ["causally_consistent"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: sharded_causally_consistent_jscore_txns_passthrough_gen - tags: ["sharding", "jscore", "causally_consistent", "txns"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: sharded_causally_consistent_jscore_txns_passthrough_without_snapshot_gen - tags: ["sharding", "wo_snapshot", "causally_consistent", "jscore"] - commands: - - func: "generate resmoke tasks" - vars: - suite: sharded_causally_consistent_jscore_txns_passthrough - resmoke_args: --excludeWithAnyTags=uses_snapshot_read_concern - -- <<: *gen_task_template - name: causally_consistent_hedged_reads_jscore_passthrough_gen - tags: ["causally_consistent", "sharding", "jscore"] - commands: - - func: "generate resmoke tasks" - -- <<: *task_template - name: sharded_collections_causally_consistent_jscore_txns_passthrough - tags: ["sharding", "jscore", "causally_consistent", "txns"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: replica_sets_jscore_passthrough - tags: ["replica_sets", "common", "san", "large", "ignore_non_generated_replica_sets_jscore_passthrough"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: replica_sets_reconfig_jscore_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_reconfig_jscore_stepdown_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_reconfig_kill_primary_jscore_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_api_version_jscore_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - fallback_num_sub_suites: 5 - -- <<: *gen_task_template - name: replica_sets_jscore_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *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" - -- <<: *task_template - name: replica_sets_multi_stmt_txn_jscore_passthrough - tags: ["replica_sets", "large"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen - tags: ["replica_sets", "non_maj_read"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_multi_stmt_txn_kill_primary_jscore_passthrough_gen - tags: ["replica_sets", "non_maj_read", "non_live_record"] - commands: - - func: "generate resmoke tasks" - -- <<: *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" - -- <<: *gen_task_template - name: replica_sets_update_v1_oplog_jscore_passthrough_gen - tags: ["replica_sets", "non_maj_read"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_initsync_jscore_passthrough_gen - tags: ["replica_sets", "san", "large"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_fcbis_jscore_passthrough_gen - tags: ["replica_sets", "fcbis", "large"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_args: --storageEngine=wiredTiger - -- <<: *task_template - name: replica_sets_initsync_static_jscore_passthrough - tags: ["replica_sets", "san", "large"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: replica_sets_kill_primary_jscore_passthrough_gen - tags: ["replica_sets", "large", "non_maj_read", "non_live_record"] - commands: - - func: "generate resmoke tasks" - -- <<: *task_template - name: replica_sets_terminate_primary_jscore_passthrough - tags: ["replica_sets", "large", "non_maj_read"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: replica_sets_kill_secondaries_jscore_passthrough - tags: ["replica_sets", "san", "large", "non_live_record"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: mongosTest - tags: ["misc_js", "non_read_maj", "non_live_record"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: mongos_test - -- <<: *gen_task_template - name: multiversion_auth_gen - tags: ["auth", "multiversion", "no_multiversion_generate_tasks", "future_git_tag_incompatible"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: multiversion_gen - tags: ["multiversion", "no_multiversion_generate_tasks", "future_git_tag_incompatible"] - commands: - - func: "generate resmoke tasks" - -# Tests the runFeatureFlagMultiversionTest helper. -# This requires the 'featureFlagToaster' and 'featureFlagSpoon' parameters to be set to true on -# build variants that enable this task. -- <<: *gen_task_template - name: feature_flag_multiversion_gen - tags: ["multiversion", "no_multiversion_generate_tasks"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: unittest_shell_hang_analyzer_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: noPassthrough_gen - tags: - [ - "incompatible_mac", - "incompatible_ppc", - "incompatible_s390x", - "misc_js" - ] - commands: - - func: "generate resmoke tasks" - vars: - suite: no_passthrough - use_large_distro: "true" - -# Only run hot_backups tests for hot_backups variant. -- <<: *gen_task_template - name: noPassthroughHotBackups_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - suite: no_passthrough - resmoke_args: src/mongo/db/modules/*/jstests/hot_backups/*.js - use_large_distro: "true" - -- <<: *gen_task_template - name: noPassthroughWithMongod_gen - tags: ["misc_js"] - commands: - - func: "generate resmoke tasks" - vars: - suite: no_passthrough_with_mongod - use_large_distro: "true" - -- <<: *gen_task_template - name: slow1_gen - tags: ["misc_js", "non_win_dbg"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - use_large_distro: "true" - -- <<: *task_template - name: serial_run - tags: ["misc_js", "non_win_dbg"] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: sharded_collections_jscore_passthrough_gen - tags: ["sharding", "jscore"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: sharded_collections_jscore_multiversion_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - sharded_collections_jscore_passthrough_last_continuous_new_old_old_new: last_continuous - sharded_collections_jscore_passthrough_last_lts_new_old_old_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *task_template - name: sharding_jscore_passthrough - tags: ["sharding", "jscore", "common"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: sharding_jscore_multiversion_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - sharding_jscore_passthrough_last_lts_new_old_old_new: last_lts - sharding_jscore_passthrough_last_continuous_new_old_old_new: last_continuous - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: sharding_api_version_jscore_passthrough_gen - tags: ["sharding", "jscore"] - commands: - - func: "generate resmoke tasks" - vars: - fallback_num_sub_suites: 5 - -- <<: *task_template - name: sharding_update_v1_oplog_jscore_passthrough - tags: ["sharding", "jscore"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: sharding_jscore_passthrough - -- <<: *task_template - name: sharded_multi_stmt_txn_jscore_passthrough - tags: ["sharding", "jscore", "multi_stmt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: multi_shard_multi_stmt_txn_jscore_passthrough_gen - tags: ["multi_shard", "multi_stmt", "common"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 0 # No cap on number of jobs. - -- <<: *gen_task_template - name: multi_shard_local_read_write_multi_stmt_txn_jscore_passthrough_gen - tags: ["multi_shard", "common"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - tags: ["multi_stmt"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen - tags: ["multi_shard"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: multi_shard_multi_stmt_txn_stepdown_primary_jscore_passthrough_gen - tags: ["multi_shard"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *task_template - name: query_stats_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: query_stats_aggregation_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: query_stats_mongos_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: query_stats_mongos_aggregation_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: clustered_collection_passthrough_gen - tags: ["large", "clustered_collections"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_clustered_collections_gen - tags: ["large", "clustered_collections"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_batched_deletes_passthrough_gen - tags: ["large", "batched_deletes"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: change_streams_batched_deletes_passthrough_gen - tags: ["change_streams", "large", "batched_deletes"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: concurrency_replication_batched_deletes_passthrough_gen - tags: ["large", "batched_deletes"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: parallel_gen - tags: ["misc_js", "parallel"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_gen - tags: ["concurrency", "common"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_metrics_gen - tags: ["concurrency"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_replication_metrics_gen - tags: ["concurrency", "repl", "disabled_on_code_coverage"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_replication_gen - tags: ["concurrency", "common", "repl"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_replication_multiversion_gen - tags: ["multiversion", "multiversion_passthrough"] - commands: - - func: "initialize multiversion tasks" - vars: - concurrency_replication_last_continuous_new_new_old: last_continuous - concurrency_replication_last_continuous_new_old_new: last_continuous - concurrency_replication_last_continuous_old_new_new: last_continuous - concurrency_replication_last_lts_new_new_old: last_lts - concurrency_replication_last_lts_new_old_new: last_lts - concurrency_replication_last_lts_old_new_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: concurrency_replication_causal_consistency_gen - tags: ["concurrency", "repl", "large", "non_live_record"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - use_large_distro: "true" - -- <<: *gen_task_template - name: concurrency_replication_multi_stmt_txn_gen - tags: ["concurrency", "common", "repl", "txn"] - commands: - - func: "generate resmoke tasks" - vars: - 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_jobs_max: 1 - -- <<: *task_template - name: concurrency_replication_causal_consistency_ubsan - tags: ["concurrency", "ubsan", "repl"] - commands: - - func: "do setup" - - func: "run tests" - vars: - 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_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_replication_wiredtiger_cursor_sweeps_gen - tags: ["concurrency", "repl"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_replication_wiredtiger_eviction_debug_gen - tags: ["concurrency", "repl", "debug_only"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_replication_gen - tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_replication_multiversion_gen - tags: ["multiversion_passthrough", "sharded", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - concurrency_sharded_replication_last_continuous_new_old_old_new: last_continuous - concurrency_sharded_replication_last_lts_new_old_old_new: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: concurrency_sharded_replication_with_balancer_gen - tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_replication_no_txns_gen - tags: ["concurrency", "no_txns", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - suite: concurrency_sharded_replication - resmoke_args: "--excludeWithAnyTags=uses_transactions" - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_replication_no_txns_with_balancer_gen - tags: ["concurrency", "no_txns", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - suite: concurrency_sharded_replication_with_balancer - resmoke_args: "--excludeWithAnyTags=uses_transactions" - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_clusterwide_ops_add_remove_shards_gen - tags: ["concurrency", "common", "read_concern_maj", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_causal_consistency_gen - tags: ["concurrency", "non_live_record", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_causal_consistency_and_balancer_gen - tags: ["concurrency", "large", "non_live_record", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_with_stepdowns_gen - tags: ["concurrency", "stepdowns", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_with_stepdowns_and_balancer_gen - tags: ["concurrency", "stepdowns", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_terminate_primary_with_balancer_gen - tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_kill_primary_with_balancer_gen - tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_multi_stmt_txn_gen - tags: ["concurrency", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_multi_stmt_txn_with_balancer_gen - tags: ["concurrency", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_local_read_write_multi_stmt_txn_gen - tags: ["concurrency", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_local_read_write_multi_stmt_txn_with_balancer_gen - tags: ["concurrency", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_multi_stmt_txn_with_stepdowns_gen - tags: ["concurrency", "stepdowns", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_multi_stmt_txn_terminate_primary_gen - tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_sharded_multi_stmt_txn_kill_primary_gen - tags: ["concurrency", "stepdowns", "kill_terminate", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_simultaneous_gen - tags: ["concurrency", "common", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: concurrency_simultaneous_replication_gen - tags: ["concurrency", "common", "large", "repl", "random_name"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: concurrency_simultaneous_replication_wiredtiger_cursor_sweeps - tags: ["concurrency", "repl", "random_name"] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: concurrency_simultaneous_replication_wiredtiger_eviction_debug - tags: ["concurrency", "repl", "debug_only", "random_name"] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: read_concern_linearizable_passthrough - tags: ["read_write_concern", "linearize", "large"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: read_concern_majority_passthrough_gen - tags: ["read_write_concern"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: write_concern_majority_passthrough_gen - tags: ["read_write_concern", "large", "write"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *task_template - name: cwrwc_passthrough - tags: ["read_write_concern", "large", "write"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: cwrwc_rc_majority_passthrough_gen - tags: ["read_write_concern"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: cwrwc_wc_majority_passthrough_gen - tags: ["read_write_concern", "write"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: secondary_reads_passthrough_gen - tags: [] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_gen - tags: ["replica_sets", "san", "large"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_ese_gen - tags: ["replica_sets", "encrypt", "san"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_ese_gcm_gen - tags: ["replica_sets", "encrypt", "san", "gcm"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_auth_gen - tags: ["replica_sets", "common", "san", "auth"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: replica_sets_large_txns_format_gen - tags: ["replica_sets", "multi_oplog", "san"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_max_mirroring_gen - tags: ["replica_sets", "san"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_update_v1_oplog_gen - tags: ["replica_sets", "san"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: replica_sets_multiversion_gen - tags: ["random_multiversion_ds", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - replica_sets_last_lts: last_lts - replica_sets_last_continuous: last_continuous - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *task_template - name: sasl - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: sharding_gen - tags: ["sharding", "common"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_multiversion_gen - tags: ["random_multiversion_ds", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - sharding_last_continuous: last_continuous - sharding_last_lts: last_lts - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: sharding_max_mirroring_gen - tags: ["sharding", "common"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_csrs_continuous_config_stepdown_gen - tags: ["sharding", "common", "csrs", "non_live_record"] - commands: - - func: "generate resmoke tasks" - vars: - suite: sharding_continuous_config_stepdown - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_ese_gen - tags: ["sharding", "encrypt"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_ese_gcm_gen - tags: ["sharding", "encrypt", "gcm"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_auth_gen - tags: ["sharding", "auth"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_auth_audit_gen - tags: ["auth", "audit", "non_live_record"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_hello_failures_gen - tags: ["concurrency", "large", "sharded"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - resmoke_jobs_max: 1 - -- <<: *gen_task_template - name: sharding_mongos_and_mixed_shards_gen - tags: ["sharding", "common", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - sharding_last_lts_mongos_and_mixed_shards: last_lts - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: sharding_update_v1_oplog_gen - tags: ["sharding", "common"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: sharding_opportunistic_secondary_targeting_gen - tags: ["sharding", "common"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *task_template - name: snmp - tags: [] - commands: - - *f_expansions_write - - func: "do setup" - - func: "do snmp setup" - - func: "run tests" - vars: - snmp_config_path: SNMPCONFPATH=snmpconf - -- <<: *gen_task_template - name: ssl_gen - tags: ["encrypt", "ssl"] - commands: - - func: "generate resmoke tasks" - vars: - resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {network: 2, replication: {heartbeats: 2}}}'" - -- <<: *gen_task_template - name: sslSpecial_gen - tags: ["encrypt", "ssl"] - commands: - - func: "generate resmoke tasks" - vars: - suite: ssl_special - -- <<: *gen_task_template - name: ssl_x509_gen - tags: ["encrypt", "ssl"] - commands: - - func: "generate resmoke tasks" - vars: - suite: ssl_x509 - -- <<: *gen_task_template - name: ssl_linear_gen - tags: ["encrypt", "ssl"] - commands: - - func: "generate resmoke tasks" - vars: - suite: ssl_linear - resmoke_jobs_max: 1 - -- <<: *task_template - name: jsCore_decimal - tags: ["jscore", "common", "decimal"] - commands: - - func: "do setup" - - func: "run tests" - vars: - suite: decimal - -- <<: *task_template - name: read_only - tags: ["read_only"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: read_only_sharded - tags: ["read_only"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: session_jscore_passthrough - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *gen_task_template - name: causally_consistent_jscore_passthrough_gen - tags: ["causally_consistent"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: causally_consistent_jscore_passthrough_auth_gen - tags: ["causally_consistent"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: causally_consistent_read_concern_snapshot_passthrough_gen - tags: ["causally_consistent", "read_write_concern", "durable_history"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: sharded_causally_consistent_read_concern_snapshot_passthrough_gen - tags: ["causally_consistent", "read_write_concern", "durable_history"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: sharded_causally_consistent_jscore_passthrough_gen - tags: ["causally_consistent"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: retryable_writes_jscore_passthrough_gen - tags: ["retry"] - commands: - - func: "generate resmoke tasks" - vars: - use_large_distro: "true" - -- <<: *gen_task_template - name: retryable_writes_downgrade_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - retryable_writes_downgrade_last_lts: last_lts - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: sharded_retryable_writes_downgrade_gen - tags: ["multiversion_passthrough", "multiversion"] - commands: - - func: "initialize multiversion tasks" - vars: - sharded_retryable_writes_downgrade_last_lts_new_old_old_new: last_lts - sharded_retryable_writes_downgrade_last_continuous_new_old_old_new: last_continuous - - func: "generate resmoke tasks" - vars: - run_no_feature_flag_tests: "true" - -- <<: *gen_task_template - name: logical_session_cache_replication_default_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "repl"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_replication_100ms_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "repl"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_replication_1sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "one_sec", "repl"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_replication_10sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "repl"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_sharding_default_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_sharding_100ms_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_sharding_100ms_refresh_jscore_txns_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_sharding_1sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "one_sec"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_sharding_10sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_standalone_default_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_standalone_100ms_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_standalone_1sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache", "one_sec"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: logical_session_cache_standalone_10sec_refresh_jscore_passthrough_gen - tags: ["logical_session_cache"] - commands: - - func: "generate resmoke tasks" - -- <<: *gen_task_template - name: retryable_writes_jscore_stepdown_passthrough_gen - tags: ["retry"] - commands: - - func: "generate resmoke tasks" - -- <<: *task_template - name: watchdog_wiredtiger - tags: ["watchdog"] - commands: - - *f_expansions_write - - func: "do setup" - - func: "do watchdog setup" - - func: "run tests" - vars: - suite: watchdog - resmoke_jobs_max: 1 - -# This is a separate task because it is only supported on Ubuntu 16.04+ which are not inmemory builders -- <<: *task_template - name: watchdog_inmemory - tags: ["watchdog"] - commands: - - *f_expansions_write - - func: "do setup" - - func: "do watchdog setup" - - func: "run tests" - vars: - suite: watchdog - resmoke_args: --storageEngine=inMemory - resmoke_jobs_max: 1 - -- <<: *task_template - name: client_encrypt - tags: ["ssl", "encrypt"] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: fle - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "load aws test credentials" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: fle2_query_analysis - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "load aws test credentials" - - func: "run tests" - -- <<: *task_template - name: fle2 - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: fle2_sharding - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: fle2_high_cardinality - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: fle2_sharding_high_cardinality - tags: ["encrypt"] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: ocsp - tags: ["ssl", "encrypt", "ocsp"] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: json_schema - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- name: powercycle_gen - tags: [] - commands: - - func: "generate powercycle tasks" - vars: - task_names: >- - powercycle - powercycle_kill_mongod - powercycle_replication_smalloplog - powercycle_syncdelay - num_tasks: 1 - -- name: powercycle_smoke_skip_compile_gen - tags: [] - commands: - - func: "generate powercycle tasks" - vars: - task_names: >- - powercycle_smoke_skip_compile - num_tasks: 20 - exec_timeout_secs: 86400 # 24 hours - timeout_secs: 86400 # 24 hours - set_up_retry_count: 1800 - run_powercycle_args: --sshAccessRetryCount=1800 - -- name: powercycle_sentinel - tags: [] - exec_timeout_secs: 86400 # 24 hours - commands: - - func: "run powercycle sentinel" - vars: - gen_task: powercycle_smoke_skip_compile_gen - -- name: powercycle_smoke - tags: [] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test_debug - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - -- name: powercycle_last_lts_fcv - tags: ["powercycle"] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test_debug - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - 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" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - -- name: selinux_rhel8_org - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel80-selinux - test_list: jstests/selinux/*.js - -- name: selinux_rhel8_enterprise - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel80-selinux - test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js - -- name: selinux_rhel9_org - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel90-selinux - test_list: jstests/selinux/*.js -- name: selinux_rhel9_enterprise - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel90-selinux - test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js - - -- name: selinux_rhel7_org - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - user: root - distro: rhel76-selinux - test_list: jstests/selinux/*.js - -- name: selinux_rhel7_enterprise - tags: [] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - user: root - distro: rhel76-selinux - test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js - -- name: idl_tests - tags: [] - depends_on: - - name: archive_dist_test - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "run idl tests" - -- name: tla_plus - tags: [] - commands: - - *f_expansions_write - - func: "do non-compile setup" - - command: subprocess.exec - type: setup - params: - binary: bash - args: - - "./src/evergreen/download_tlc.sh" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- name: buildscripts_test - tags: [] - depends_on: [] - commands: - - *f_expansions_write - - func: "do non-compile setup" - - func: "set up remote credentials" - - *f_expansions_write - - func: "configure evergreen api credentials" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: resmoke_end2end_tests - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: resmoke_validation_tests - tags: [] - depends_on: [] - commands: - - func: "do non-compile setup" - - func: "run tests" - -- name: package - tags: [] - depends_on: - - name: compile_dist_test - commands: - - *f_expansions_write - - func: "scons compile" - vars: - targets: >- - archive-dist - archive-dist-debug - archive-jstestshell - archive-jstestshell-debug - ${additional_package_targets|} - task_compile_flags: >- - --legacy-tarball - - command: subprocess.exec - params: - binary: bash - add_expansions_to_env: true - args: - - "src/evergreen/run_python_script.sh" - - "evergreen/macos_notary.py" - - "mongodb-dist.${ext|tgz}" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/package.sh" - - 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: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/mongodb-jstestshell.${ext|tgz} - remote_file: ${mongo_jstestshell} - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Jstestshell - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/mongodb-jstestshell-debugsymbols.${ext|tgz} - remote_file: ${mongo_jstestshell_debugsymbols} - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/gzip} - display_name: Jstestshell 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 - run_on: rhel80-small - tags: ["publish"] - # This should prevent this task from running in patch builds, where we - # don't want to publish packages. - patchable: false - stepback: false - # Same dependencies as "push" below - depends_on: - - name: package - - name: jsCore - - name: run_dbtest - - name: replica_sets_jscore_passthrough - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "get and apply version expansions" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "fetch packages" - - func: "generate compile expansions" - - func: "apply compile expansions" - - func: "set up remote credentials" - vars: - aws_key_remote: ${repo_aws_key} - aws_secret_remote: ${repo_aws_secret} - - func: "set up notary client credentials" - - *f_expansions_write - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/packages_publish.sh" - -- name: push - run_on: rhel8.7-small - tags: ["publish"] - patchable: false - depends_on: - - name: package - - name: jsCore - - name: run_dbtest - - name: replica_sets_jscore_passthrough - stepback: false - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "get and apply version expansions" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "fetch packages" - - func: "fetch dist tarball" - # 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) - - func: "generate compile expansions" - - func: "apply compile expansions" - - func: "fetch dist debugsymbols" - - func: "set up remote credentials" - vars: - aws_key_remote: ${repo_aws_key} - aws_secret_remote: ${repo_aws_secret} - - func: "f_expansions_write" - - func: "log into devprod container registry" - - # signing windows artifacts - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/garasign_jsign_sign.sh" - - # signing linux artifacts - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/garasign_gpg_sign.sh" - - # Put the binaries tarball/zipfile - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz} - aws_key: ${aws_key} - bucket: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz} - skip_existing: ${is_release} - # 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: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz} - skip_existing: ${is_release} - 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: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mh-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz} - skip_existing: ${is_release} - build_variants: *mh_variants - - # Put the debug symbols - # push directly to repo due to limitations in file size SERVER-63432 - - 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: ${push_bucket} - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz} - skip_existing: ${is_release} - 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: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig - skip_existing: ${is_release} - - # 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: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig - skip_existing: ${is_release} - build_variants: *mongocryptd_variants - - # 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: ${push_bucket} - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig - skip_existing: ${is_release} - 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}.msi - bucket: ${push_bucket} - content_type: application/x-msi - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi - skip_existing: ${is_release} - - # 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: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1 - skip_existing: ${is_release} - - # 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: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1 - skip_existing: ${is_release} - build_variants: *mongocryptd_variants - - # 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: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1 - skip_existing: ${is_release} - 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}.msi.sha1 - bucket: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1 - skip_existing: ${is_release} - - # 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: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256 - skip_existing: ${is_release} - - # 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: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256 - skip_existing: ${is_release} - build_variants: *mongocryptd_variants - - # 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: ${push_bucket} - permissions: public-read - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256 - skip_existing: ${is_release} - 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}.msi.sha256 - bucket: ${push_bucket} - permissions: public-read - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256 - skip_existing: ${is_release} - 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: ${push_bucket} - permissions: public-read - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5 - skip_existing: ${is_release} - - # 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: ${push_bucket} - permissions: public-read - content_type: text/plain - remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5 - skip_existing: ${is_release} - build_variants: *mongocryptd_variants - - # 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: ${push_bucket} - content_type: text/plain - permissions: public-read - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5 - skip_existing: ${is_release} - 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}.msi.md5 - bucket: ${push_bucket} - permissions: public-read - content_type: text/plain - remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5 - skip_existing: ${is_release} - #Trace artifacts (binaries, cryptd, debug, MSI) using Papertrail - - command: subprocess.exec - params: - binary: bash - env: - IS_RELEASE: ${is_release} - args: - - "./src/evergreen/papertrail_generate_expansions.sh" - - command: expansions.update - params: - file: src/papertrail-expansions.yml - - func: "f_expansions_write" - - command: papertrail.trace - params: - key_id: ${papertrail_key_id} - secret_key: ${papertrail_secret_key} - product: ${product_for_papertrail} - version: ${release_version} - filenames: - - "src/mongodb-${push_name}-${push_arch}*" - - "src/mongodb-cryptd-${push_name}-${push_arch}*" - - "src/mh-${push_name}-${push_arch}*" - -- name: crypt_push - run_on: rhel8.7-small - tags: ["publish_crypt"] - patchable: false - stepback: false - depends_on: - - name: crypt_create_lib - commands: - - command: manifest.load - - func: "f_expansions_write" - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "get and apply version expansions" - - func: "f_expansions_write" - - func: "generate compile expansions" - - func: "apply compile expansions" - - func: "f_expansions_write" - - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1-${version}.${ext|tgz} - bucket: mciuploads - local_file: src/mongo_crypt_shared_v1.${ext|tgz} - - func: "generate compile expansions" - - func: "apply compile expansions" - - func: "set up remote credentials" - vars: - aws_key_remote: ${repo_aws_key} - aws_secret_remote: ${repo_aws_secret} - - func: "f_expansions_write" - - func: "log into devprod container registry" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/garasign_gpg_crypt_sign.sh" - # Put the crypt tarball/zipfile - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz} - aws_key: ${aws_key} - bucket: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz} - skip_existing: ${is_release} - # Put the crypt tarball signature - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig - aws_key: ${aws_key} - bucket: ${push_bucket} - permissions: public-read - content_type: ${content_type|application/gzip} - remote_file: ${push_path}/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig - skip_existing: ${is_release} - # Put the crypt tarball sha1 - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1 - aws_key: ${aws_key} - permissions: public-read - bucket: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1 - skip_existing: ${is_release} - # Put the crypt tarball sha256 - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256 - permissions: public-read - aws_key: ${aws_key} - bucket: ${push_bucket} - content_type: text/plain - remote_file: ${push_path}/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256 - skip_existing: ${is_release} - # Put the crypt tarball md5 - - command: s3.put - params: - aws_secret: ${aws_secret} - local_file: src/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5 - aws_key: ${aws_key} - bucket: ${push_bucket} - permissions: public-read - content_type: text/plain - remote_file: ${push_path}/mongo_crypt_shared_v1-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5 - skip_existing: ${is_release} - #Trace artifacts (crypt) using Papertrail - - command: subprocess.exec - params: - binary: bash - env: - IS_RELEASE: ${is_release} - args: - - "./src/evergreen/papertrail_generate_expansions.sh" - - command: expansions.update - params: - file: src/papertrail-expansions.yml - - func: "f_expansions_write" - - command: papertrail.trace - params: - key_id: ${papertrail_key_id} - secret_key: ${papertrail_secret_key} - product: ${product_for_papertrail} - version: ${release_version} - filenames: - - "src/mongo_crypt_shared_v1-${push_name}-${push_arch}*" - -- <<: *task_template - name: search - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: search_auth - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: search_pinned_connections_auth - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: search_ssl - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: vector_search - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: vector_search_auth - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: vector_search_ssl - tags: [] - commands: - - func: "do setup" - - func: "run tests" - vars: - resmoke_jobs_max: 1 - -- <<: *task_template - name: cqf - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- <<: *task_template - name: cqf_parallel - tags: [] - commands: - - func: "do setup" - - func: "run tests" - -- name: shared_scons_cache_pruning - tags: [] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *set_up_venv - - func: "shared scons cache pruning" - -- name: win_shared_scons_cache_pruning - tags: [] - exec_timeout_secs: 21600 # 2 hour timeout for the task overall - depends_on: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - *set_up_venv - - func: "set up win mount script" - - func: "shared scons cache pruning" - -- name: validate_commit_message - tags: [] - exec_timeout_secs: 600 # 10 minute timeout - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/commit_message_validate.sh" - env: - JIRA_AUTH_ACCESS_TOKEN: ${jira_auth_access_token} - JIRA_AUTH_ACCESS_TOKEN_SECRET: ${jira_auth_access_token_secret} - JIRA_AUTH_CONSUMER_KEY: ${jira_auth_consumer_key} - JIRA_AUTH_KEY_CERT: ${jira_auth_key_cert} - -- name: check_for_todos - tags: [] - exec_timeout_secs: 600 # 10 minute timeout - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - func: "configure evergreen api credentials" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/todos_check.sh" - -- name: check_feature_flag_tags - tags: [] - patch_only: true - commands: - - command: manifest.load - - func: "git get project and add git tag" - - *f_expansions_write - - *kill_processes - - *cleanup_environment - - func: "set up venv" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/feature_flag_tags_check.sh" - -- name: antithesis_image_build - tags: ["antithesis"] - # this is not patchable to avoid hitting the docker registry excessively. - # When iterating on this task, feel free to make this patchable for - # testing purposes. Your image changes will be pushed with the - # evergreen-patch tag, so as to not clobber the waterfall. Use the - # antithesis_image_tag build parameter to override this if required. - patchable: false - depends_on: - - name: archive_dist_test_debug - commands: - - *f_expansions_write - - func: "git get project no modules" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${project}/${build_variant}/antithesis_last_push.txt - local_file: antithesis_last_push.txt - bucket: mciuploads - - func: "do setup" - - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${mongo_debugsymbols} - bucket: mciuploads - local_file: src/mongo-debugsymbols.tgz - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/antithesis_image_build.sh" - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: antithesis_next_push.txt - remote_file: ${project}/${build_variant}/antithesis_last_push.txt - bucket: mciuploads - permissions: private - content_type: text/plain - display_name: Last Push Date (seconds since epoch) - -- name: generate_buildid_to_debug_symbols_mapping - tags: ["symbolizer"] - stepback: false - patchable: true - depends_on: - - archive_dist_test_debug - commands: - - *f_expansions_write - - func: "do setup" - - func: "configure evergreen api credentials" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/generate_buildid_debug_symbols_mapping.sh" - -####################################### -# Task Groups # -####################################### -task_groups: -- <<: *compile_task_group_template - name: compile_dist_test_TG - tasks: - - compile_dist_test - -- <<: *compile_task_group_template - name: compile_and_archive_dist_test_TG - tasks: - - compile_dist_test - - archive_dist_test - - archive_dist_test_debug - -- <<: *compile_task_group_template - name: compile_and_archive_dist_test_then_package_TG - tasks: - - compile_dist_test - - archive_dist_test - - archive_dist_test_debug - - package - -- <<: *compile_task_group_template - name: compile_ninja_next_TG - tasks: - - compile_ninja_next - -- <<: *compile_task_group_template - name: compile_build_tools_next_TG - tasks: - - compile_build_tools_next - -- <<: *compile_task_group_template - name: libdeps_graph_linting_TG - tasks: - - libdeps_graph_linting - -- <<: *compile_task_group_template - name: compile_ninja_TG - tasks: - - compile_ninja - teardown_task: - - command: s3.put - params: - optional: true - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: src/all.build.ninja - remote_file: ${project}/${build_variant}/${revision}/artifacts/all.${build_id}.build.ninja - bucket: mciuploads - permissions: public-read - content_type: text/plain - display_name: build.ninja - -- <<: *compile_task_group_template - name: compile_ninja_default_profile_TG - tasks: - - compile_ninja_default_profile - -- <<: *compile_task_group_template - name: compile_ninja_opt_profile_TG - tasks: - - compile_ninja_opt_profile - -- <<: *compile_task_group_template - name: compile_ninja_san_profile_TG - tasks: - - compile_ninja_san_profile - -- <<: *compile_task_group_template - name: compile_ninja_fast_profile_TG - tasks: - - compile_ninja_fast_profile - -- <<: *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_dbtest - - run_dbtest - - archive_dbtest - - compile_all_but_not_unittests - - package - -# SERVER-76006 -# This is a compile stream meant for non-cached and/or underpowered systems. -# It joins most of the compile tasks together under a single host spread out -# across different tasks. -- <<: *compile_task_group_template - name: small_compile_test_and_package_serial_TG - tasks: - - compile_dist_test_half - - compile_dist_test - - archive_dist_test - - archive_dist_test_debug - - compile_dbtest - - run_dbtest - - archive_dbtest - - 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 - - determine_patch_tests - - archive_dist_test - - archive_dist_test_debug - - compile_all_but_not_unittests - - package - -- <<: *compile_task_group_template - name: compile_test_and_package_parallel_unittest_stream_TG - max_hosts: -1 - tasks: - - compile_and_run_unittests_first_quarter - - compile_and_run_unittests_second_quarter - - compile_and_run_unittests_third_quarter - - compile_and_run_unittests_fourth_quarter - -#- <<: *compile_task_group_template -# name: compile_test_and_package_parallel_unittest_stream_with_recording_TG -# tasks: -# - compile_unittests_for_recorded_unittest -# - run_unittests_with_recording - -- <<: *compile_task_group_template - name: compile_test_and_package_parallel_dbtest_stream_TG - tasks: - - compile_dbtest - - run_dbtest - - archive_dbtest - -- <<: *compile_task_group_template - name: compile_integration_and_test_parallel_stream_TG - tasks: - - compile_integration_test - - integration_tests_standalone - - integration_tests_standalone_audit - - integration_tests_replset - - integration_tests_replset_ssl_auth - - integration_tests_sharded - -- <<: *compile_task_group_template - name: compile_integration_and_test_no_audit_parallel_stream_TG - tasks: - - compile_integration_test - - integration_tests_standalone - - integration_tests_replset - - integration_tests_replset_ssl_auth - - integration_tests_sharded - -- name: clang_tidy_TG - setup_group_can_fail_task: true - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up credentials" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "f_expansions_write" - - func: "umount shared scons directory" - - func: "cleanup environment" - setup_task: - - func: "apply compile expansions" - - func: "f_expansions_write" - - func: "set task expansion macros" - - func: "f_expansions_write" - teardown_task: - tasks: - - clang_tidy - -- name: visibility_test_TG - setup_group_can_fail_task: true - max_hosts: 1 - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "get buildnumber" - - func: "set up venv" - - func: "upload pip requirements" - - func: "set up credentials" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "umount shared scons directory" - setup_task: - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "apply compile expansions" - - func: "f_expansions_write" - teardown_task: - - func: "attach scons logs" - - func: "send scons cedar report" - tasks: - - compile_visibility_test - -- name: embedded_sdk_build_and_test - setup_group_can_fail_task: true - max_hosts: 1 - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "get buildnumber" - - func: "set up venv" - - func: "upload pip requirements" - - func: "set up credentials" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "umount shared scons directory" - setup_task: - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "apply compile expansions" - - func: "f_expansions_write" - teardown_task: - - func: "attach scons logs" - - func: "send scons cedar report" - 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_community_only - name: stitch_support_lib_build_and_archive_community_only - tags: ["stitch"] - tasks: - - "stitch_support_create_lib_community_only" - -- <<: *stitch_support_task_group_template_community_only - name: stitch_support_lib_build_and_test_community_only - tags: ["stitch"] - max_hosts: 1 - tasks: - - "stitch_support_install_tests_community_only" - - "stitch_support_run_tests_community_only" - -- name: crypt_build - setup_task: - - func: "f_expansions_write" - - func: "apply compile expansions" - - func: "set task expansion macros" - - func: "f_expansions_write" - teardown_task: - - func: "attach scons logs" - - func: "send scons cedar report" - setup_group_can_fail_task: true - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "umount shared scons directory" - tags: ["crypt"] - max_hosts: 1 - tasks: - - "crypt_create_lib" - -- name: crypt_build_debug_and_test - setup_task: - - func: "f_expansions_write" - - func: "apply compile expansions" - - func: "set task expansion macros" - - func: "f_expansions_write" - teardown_task: - - func: "attach scons logs" - - func: "send scons cedar report" - setup_group_can_fail_task: true - setup_group: - - command: manifest.load - - func: "git get project and add git tag" - - func: "set task expansion macros" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get buildnumber" - - func: "f_expansions_write" - - func: "set up win mount script" - - func: "generate compile expansions" - teardown_group: - - func: "umount shared scons directory" - max_hosts: 1 - tasks: - - "crypt_create_debug_lib" - - "crypt_install_tests" - - "crypt_run_tests" diff --git a/etc/evergreen_yml_components/tasks/misc_tasks.yml b/etc/evergreen_yml_components/tasks/misc_tasks.yml deleted file mode 100644 index c32894e2617..00000000000 --- a/etc/evergreen_yml_components/tasks/misc_tasks.yml +++ /dev/null @@ -1,1617 +0,0 @@ -# This file contains miscellaneous tasks - -################################################ -# Variable # -################################################ -variables: - - &antithesis_task_template - name: antithesis_task_template - depends_on: - name: archive_dist_test_debug - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: suite_name - resmoke_args: >- - --arg=val - --flag - - - &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: "" - mongod_conf: --mongod-conf mongod_verbose.conf - - # Template for running Jepsen tests - - &run_jepsen_template - name: run_jepsen_template - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - - # Templates used by powercycle - - &powercycle_remote_credentials - private_key_file: src/powercycle.pem - private_key_remote: ${__project_aws_ssh_key_value} - -################################################ -# Tasks # -################################################ -tasks: - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_stepdown_terminate_kill_primary_with_balancer_and_config_transitions - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_stepdown_terminate_kill_primary_with_balancer_and_config_transitions - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_replication_with_balancer_and_config_transitions - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_replication_with_balancer_and_config_transitions - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_jstestfuzz_sharded_with_config_transitions - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: jstestfuzz_sharded_with_config_transitions - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_multi_stmt_txn_stepdown_terminate_kill_primary - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_multi_stmt_txn_stepdown_terminate_kill_primary - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_stepdown_terminate_kill_primary_with_balancer - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_stepdown_terminate_kill_primary_with_balancer - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_initial_sync - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_initial_sync - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_initsync_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_initsync_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_concurrency_sharded_stepdown_terminate_kill_primary_with_balancer_config_shard - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_stepdown_terminate_kill_primary_with_balancer - resmoke_args: >- - --configShard=0 - --numShards=2 - --excludeWithAnyTags=config_shard_incompatible - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_config_fuzzer_stress_concurrency_sharded_replication - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: concurrency_sharded_replication - resmoke_args: >- - --fuzzMongodConfigs=stress - --fuzzMongosConfigs=normal - --fuzzRuntimeParams - --excludeWithAnyTags=does_not_support_config_fuzzer - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_core - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: core - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_fcv_upgrade_downgrade_sharded_collections_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_jstestfuzz_sharded - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: jstestfuzz_sharded - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_lag_oplog_application_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_lag_oplog_application_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_kill_primary_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_kill_primary_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_kill_secondaries_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_kill_secondaries_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - <<: *antithesis_task_template - name: antithesis_replica_sets_initsync_lagged_sync_source_jscore_passthrough - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "antithesis", - ] - commands: - - func: "do setup" - - func: "do setup for antithesis" - - func: "antithesis image build and push" - vars: - suite: replica_sets_initsync_lagged_sync_source_jscore_passthrough - resmoke_args: >- - --runAllFeatureFlagTests - - - name: build_metrics_tasks_gen - tags: ["assigned_to_jira_team_devprod_build", "auxiliary"] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - func: "do scons setup" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - add_expansions_to_env: true - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/evergreen_gen_build_metrics_tasks.py" - - command: archive.targz_pack - params: - target: build_metrics_task_gen.tgz - source_dir: "src" - include: - - "build_metrics_task_gen.json" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: build_metrics_task_gen.tgz - remote_file: ${project}/${build_variant}/${revision}/build-metrics/${task_name}-${build_id}.tgz - bucket: mciuploads - permissions: public-read - content_type: application/gzip - display_name: Build Metrics Task Gen JSON - - command: generate.tasks - params: - files: - - src/build_metrics_task_gen.json - - - name: check_feature_flag_tags - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - ] - patch_only: true - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/feature_flag_tags_check.sh" - - - name: check_for_todos - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - ] - exec_timeout_secs: 600 # 10 minute timeout - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "configure evergreen api credentials" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/todos_check.sh" - - - name: daily_task_scanner - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/daily_task_scan.py" - - "-f=task_errors.txt" - - - name: determine_patch_tests - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - func: "f_expansions_write" - - command: github.generate_token - params: - owner: 10gen - repo: coredb-patchbuild-optimizer - expansion_name: github_token - permissions: - metadata: read - contents: read - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/gen_patch_test_tags.sh" - include_expansions_in_env: - - "github_token" - - - name: generate_buildid_to_debug_symbols_mapping - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "release_critical", - "incompatible_mac", - "incompatible_windows", - "requires_compile_variant", - "symbolizer", - ] - stepback: false - patchable: true - depends_on: - - archive_dist_test_debug - commands: - - func: "f_expansions_write" - - func: "do setup" - - func: "configure evergreen api credentials" - - command: subprocess.exec - params: - binary: bash - args: - - "./src/evergreen/generate_buildid_debug_symbols_mapping.sh" - - - name: idl_tests - tags: ["assigned_to_jira_team_server_servicearch", "default"] - depends_on: - - name: archive_dist_test - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "run idl tests" - - - name: iwyu_self_test - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - ] - commands: - - func: "do scons setup" - - func: "f_expansions_write" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/iwyu/test/run_tests.py" - - # Smoke test to ensure the Server still works with Jepsen - - <<: *run_jepsen_template - name: jepsen-config_fuzzer_smoke - tags: ["assigned_to_jira_team_server_repl", "experimental"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - jepsen_time_limit: --time-limit 120 - - # Smoke test to ensure the Server still works with Jepsen - - <<: *run_jepsen_template - name: jepsen-smoke - tags: ["assigned_to_jira_team_server_repl", "experimental"] - 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_config_fuzzer_list-append - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen_docker"] - commands: - - func: "do setup" - - func: "do jepsen docker setup" - - func: "setup jepsen docker config fuzzer" - - func: "run jepsen docker test" - - - <<: *run_jepsen_template - name: jepsen_config_fuzzer_read-concern-majority - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - - - <<: *run_jepsen_template - name: jepsen_config_fuzzer_read-concern-majority_w1 - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: read-concern-majority - jepsen_write_concern: --write-concern w1 - - - <<: *run_jepsen_template - name: jepsen_config_fuzzer_register_findAndModify - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - 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_config_fuzzer_register_linearizableRead - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - jepsen_read_concern: --read-concern linearizable - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: register - - - <<: *run_jepsen_template - name: jepsen_config_fuzzer_set_linearizableRead - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen"] - commands: - - func: "do setup" - - func: "do jepsen setup" - - func: "setup jepsen config fuzzer" - - func: "run jepsen test" - vars: - <<: *jepsen_config_vars - mongod_conf: --mongod-conf mongod.conf - jepsen_read_concern: --read-concern linearizable - jepsen_storage_engine: --storage-engine wiredTiger - jepsen_test_name: set - - - <<: *run_jepsen_template - name: jepsen_list-append - tags: ["assigned_to_jira_team_server_repl", "experimental", "jepsen_docker"] - commands: - - func: "do setup" - - func: "do jepsen docker setup" - - func: "run jepsen docker test" - - - <<: *run_jepsen_template - name: jepsen_read-concern-majority - tags: ["assigned_to_jira_team_server_repl", "experimental", "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 - - - <<: *run_jepsen_template - name: jepsen_read-concern-majority_w1 - tags: ["assigned_to_jira_team_server_repl", "experimental", "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 - - - <<: *run_jepsen_template - name: jepsen_register_findAndModify - tags: ["assigned_to_jira_team_server_repl", "experimental", "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: ["assigned_to_jira_team_server_repl", "experimental", "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: ["assigned_to_jira_team_server_repl", "experimental", "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 - - # TODO: rename if display_name appears on the evergreen UI - - name: bazel_run_//:format - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - "bazel_check", - ] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - # TODO SERVER-81038: Remove "fetch bazel" once bazelisk is self-hosted. - - func: "fetch bazel" - - func: "bazel run" - vars: - target: >- - //:format -- --check - - # TODO: rename if display_name appears on the evergreen UI - - name: bazel_run_//:codeowners - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - "bazel_check", - ] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - # TODO SERVER-81038: Remove "fetch bazel" once bazelisk is self-hosted. - - func: "fetch bazel" - - func: "bazel run" - vars: - target: >- - //:codeowners -- --check - - - name: lint_clang_format - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 2 hours - exec_timeout_secs: 7200 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - - func: "scons lint" - vars: - targets: lint-clang-format - - - name: lint_cpplint - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 2 hours - exec_timeout_secs: 7200 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - - func: "scons lint" - vars: - targets: lint-lint.py - - - name: lint_errorcodes - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - - func: "scons lint" - vars: - targets: lint-errorcodes - - - name: lint_eslint - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 2 hours - exec_timeout_secs: 7200 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - - func: "scons lint" - vars: - targets: lint-eslint - - # Check that the mutational fuzzer can parse all JS filess. - - name: lint_fuzzer_sanity_all - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "setup jstestfuzz" - - func: "lint fuzzer sanity all" - - # Check that the mutational fuzzer can parse JS files modified in a patch build. - - name: lint_fuzzer_sanity_patch - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - ] - patch_only: true - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "setup jstestfuzz" - - func: "lint fuzzer sanity patch" - - - name: lint_large_files_check - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - ] - exec_timeout_secs: 600 # 10 minute timeout - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/run_python_script.sh" - - "buildscripts/large_file_check.py" - - "--exclude" - - "src/third_party/*" - - # Confirm that the poetry.lock file is up to date with pyproject.toml - - name: lint_poetry_lock - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "evergreen/functions/poetry_lock_check.py" - - - name: lint_bazel - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - command: subprocess.exec - params: - binary: bash - add_expansions_to_env: true - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/download_buildifier.py" - - command: subprocess.exec - params: - binary: bash - add_expansions_to_env: true - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/buildifier.py" - - "--generate-report" - - "--binary-dir=./" - - "lint-all" - - # TODO: DEVPROD-9047 Enable after the issue with getting third party file is resolved - - name: lint_sbom - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 40 minutes - exec_timeout_secs: 2400 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - command: subprocess.exec - params: - binary: bash - args: - - "src/evergreen/run_python_script.sh" - - "buildscripts/sbom_linter.py" - - - name: lint_pylinters - tags: - [ - "assigned_to_jira_team_devprod_build", - "development_critical_single_variant", - "lint", - ] - commands: - - command: timeout.update - params: - # 2 hours - exec_timeout_secs: 7200 - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - - func: "scons lint" - vars: - targets: lint-pylinters - - - name: lint_shellscripts - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - "lint", - ] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/lint_shellscripts.sh" - - - name: lint_yaml - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - "lint", - ] - depends_on: [] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "f_expansions_write" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/lint_yaml.sh" - - - name: bazel_coverage - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - command: timeout.update - params: - exec_timeout_secs: 10800 # 3 hours - - func: "f_expansions_write" - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "get engflow creds" - # TODO SERVER-81038: Remove "fetch bazel" once bazelisk is self-hosted. - - func: "fetch bazel" - - func: "bazel coverage" - vars: - # Running something like "bazel test //src/..." has to do a lot of preprocessing on *all* - # targets before it actually runs the much smaller fraction of test targets, unless we're - # certain that a full build has already been cached. - # It might be optimized by doing a query upfront, which uses minimal analysis: - # targets=$(bazel query 'kind(".*_test", //src/...)') - # bazel test $targets - target: >- - //src/... - args: >- - --test_output=all - --config=local - --combined_report=lcov - - - name: monitor_build_status - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/monitor_build_status_run.sh" - env: - JIRA_AUTH_ACCESS_TOKEN: ${jira_auth_access_token} - JIRA_AUTH_ACCESS_TOKEN_SECRET: ${jira_auth_access_token_secret} - JIRA_AUTH_CONSUMER_KEY: ${jira_auth_consumer_key} - JIRA_AUTH_KEY_CERT: ${jira_auth_key_cert} - - - name: monitor_mongo_fork_10gen - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "monitor mongo fork 10gen" - - - name: powercycle - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_gen - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "incompatible_windows", - ] - commands: - - func: "generate powercycle tasks" - vars: - task_names: >- - powercycle - powercycle_kill_mongod - powercycle_replication_smalloplog - powercycle_syncdelay - num_tasks: 1 - - - name: powercycle_kill_mongod - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_last_lts_fcv - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_replication - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_replication_smalloplog - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_sentinel - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "incompatible_windows", - ] - exec_timeout_secs: 86400 # 24 hours - commands: - - func: "run powercycle sentinel" - vars: - gen_task: powercycle_smoke_skip_compile_gen - - - name: powercycle_smoke - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "default", - "incompatible_tsan", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_smoke_skip_compile_gen - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "experimental", - "incompatible_windows", - ] - commands: - - func: "generate powercycle tasks" - vars: - task_names: >- - powercycle_smoke_skip_compile - num_tasks: 20 - exec_timeout_secs: 86400 # 24 hours - timeout_secs: 86400 # 24 hours - set_up_retry_count: 1800 - run_powercycle_args: --sshAccessRetryCount=1800 - - - name: powercycle_syncdelay - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: powercycle_write_concern_majority - tags: - [ - "assigned_to_jira_team_server_storage_engines", - "experimental", - "powercycle", - ] - exec_timeout_secs: 7200 # 2 hour timeout for the task overall - depends_on: - - name: archive_dist_test - commands: - - func: "do setup" - - func: "set up remote credentials" - vars: - <<: *powercycle_remote_credentials - - func: "set up EC2 instance" - vars: - <<: *powercycle_remote_credentials - - func: "run powercycle test" - vars: - <<: *powercycle_remote_credentials - timeout_secs: 1800 # 30 minute timeout for no output - - - name: selinux_rhel8_enterprise - tags: ["assigned_to_jira_team_server_security", "experimental"] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel8.8-selinux - test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js - - - name: selinux_rhel8_org - tags: ["assigned_to_jira_team_server_security", "experimental"] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel8.8-selinux - test_list: jstests/selinux/*.js - - - name: selinux_rhel9_enterprise - tags: ["assigned_to_jira_team_server_security", "experimental"] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel90-selinux - test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js - - - name: selinux_rhel9_org - tags: ["assigned_to_jira_team_server_security", "experimental"] - depends_on: - - name: archive_dist_test - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "set up venv" - - func: "fetch packages" - - func: "fetch binaries" - - func: "extract binaries" - - func: "run selinux tests" - vars: - distro: rhel90-selinux - test_list: jstests/selinux/*.js - - - name: sync_repo_with_copybara - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - patchable: false - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "configure evergreen api credentials" - - func: "sync repo with copybara" - - - name: test_api_version_compatibility - tags: - [ - "assigned_to_jira_team_server_repl", - "development_critical_single_variant", - ] - depends_on: - - name: archive_dist_test - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "do setup" - - func: "f_expansions_write" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/check_idl_compat.sh" - - - name: test_packages - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - depends_on: - - name: package - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "run package test" - vars: - docker_username: ${dockerhub_username} - docker_password: ${dockerhub_password} - - - name: test_packages_release - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - depends_on: - - name: version_expansions_gen - variant: generate-tasks-for-version - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "run release package test" - vars: - docker_username: ${dockerhub_username} - docker_password: ${dockerhub_password} - - - name: validate_commit_message - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - ] - exec_timeout_secs: 600 # 10 minute timeout - commands: - - command: manifest.load - - func: "git get project and add git tag" - - func: "f_expansions_write" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "configure evergreen api credentials" - - func: "f_expansions_write" - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "./src/evergreen/run_python_script.sh" - - "buildscripts/validate_commit_message.py" - env: - JIRA_AUTH_ACCESS_TOKEN: ${jira_auth_access_token} - JIRA_AUTH_ACCESS_TOKEN_SECRET: ${jira_auth_access_token_secret} - JIRA_AUTH_CONSUMER_KEY: ${jira_auth_consumer_key} - JIRA_AUTH_KEY_CERT: ${jira_auth_key_cert} - IS_COMMIT_QUEUE: ${is_commit_queue} - BRANCH_NAME: ${branch_name} - - - name: version_burn_in_gen - run_on: ubuntu2004-medium - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - command: manifest.load - - func: "git get shallow project" - - func: "f_expansions_write" - - func: "restore git history and tags" - - func: "add git tag" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate version burn in" - vars: - run_covered_tests: true - - - name: version_gen - run_on: ubuntu2004-medium - tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"] - commands: - - command: manifest.load - - func: "git get shallow project" - - func: "f_expansions_write" - - func: "restore git history and tags" - - func: "add git tag" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate version" - vars: - run_covered_tests: true - - - name: version_gen_validation - run_on: ubuntu2004-medium - tags: - [ - "assigned_to_jira_team_devprod_correctness", - "development_critical_single_variant", - ] - commands: - - command: manifest.load - - func: "git get shallow project" - - func: "f_expansions_write" - - func: "restore git history and tags" - - func: "add git tag" - - func: "kill processes" - - func: "cleanup environment" - - func: "set up venv" - - func: "upload pip requirements" - - func: "generate version validation" - vars: - run_covered_tests: true diff --git a/etc/evergreen_yml_components/variants/atlas.yml b/etc/evergreen_yml_components/variants/atlas.yml deleted file mode 100644 index e032fb38e10..00000000000 --- a/etc/evergreen_yml_components/variants/atlas.yml +++ /dev/null @@ -1,80 +0,0 @@ -# Build variants corresponding to Atlas's OS. - -buildvariants: -- name: enterprise-rhel-70-64-bit - display_name: "Enterprise RHEL 7.0" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel70-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: x86_64-enterprise-rhel70 - compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel70-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel70-large - - name: compile_build_tools_next_TG - distros: - - rhel70-large - - name: .aggfuzzer - - name: audit - - name: auth_audit_gen - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - rhel70-large - - name: config_fuzzer_concurrency_replication - distros: - - rhel70-large - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - rhel70-large - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: .ocsp - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: .replica_sets .multi_oplog - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: sharding_auth_audit_gen - - name: sharding_auth_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: unittest_shell_hang_analyzer_gen - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - - name: selinux_rhel7_enterprise - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping diff --git a/etc/evergreen_yml_components/variants/ibm.yml b/etc/evergreen_yml_components/variants/ibm.yml deleted file mode 100644 index cb412034bdf..00000000000 --- a/etc/evergreen_yml_components/variants/ibm.yml +++ /dev/null @@ -1,216 +0,0 @@ -# IBM build variants. - -buildvariants: -- name: enterprise-rhel-81-ppc64le - display_name: Enterprise RHEL 8.9 PPC64LE - run_on: - - rhel8-power-small - cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: >- - --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer,ppc64le_incompatible - timeout_secs: 7200 # 2 hours idle timeout - exec_timeout_secs: 43200 # 12 hours exec timeout - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel8-power-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel8-power-large - - name: compile_integration_and_test_no_audit_parallel_stream_TG - distros: - - rhel8-power-large - - name: .aggregation .common - - name: audit - - name: .auth !.multiversion !.jscore - - name: .misc_js - - name: .encrypt - - name: .jscore .common !.auth - - name: .read_write_concern - - name: replica_sets_gen - - name: .replica_sets .common - - name: sasl - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.multiversion - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-71-ppc64le - display_name: Enterprise RHEL 7.9 PPC64LE - run_on: - - rhel7-power-small - cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter - 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=rhel71 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - resmoke_jobs_factor: 0.25 - has_packages: true - packager_script: packager_enterprise.py - packager_arch: ppc64le - packager_distro: rhel71 - push_path: linux - push_bucket: downloads.10gen.com - push_name: linux - push_arch: ppc64le-enterprise-rhel71 - repo_edition: enterprise - multiversion_platform: rhel71 - multiversion_architecture: ppc64le - multiversion_edition: enterprise - test_flags: >- - --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer,ppc64le_incompatible - timeout_secs: 7200 # 2 hours idle timeout - exec_timeout_secs: 43200 # 12 hours exec timeout - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel7-power-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel7-power-large - - name: compile_integration_and_test_no_audit_parallel_stream_TG - distros: - - rhel7-power-large - - name: .aggregation .common - - name: audit - - name: .auth !.multiversion !.jscore - - name: .misc_js - - name: .encrypt - - name: .jscore .common !.auth - - name: .read_write_concern - - name: replica_sets_gen - - name: .replica_sets .common - - name: sasl - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.multiversion - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-72-s390x - display_name: Enterprise RHEL 7.9 s390x - run_on: - - rhel7-zseries-small - cron: "0 4 * * 0" - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: >- - --excludeWithAnyTags=incompatible_with_s390x,requires_increased_memlock_limits,requires_latch_analyzer - tasks: - - name: small_compile_test_and_package_serial_TG - distros: - - rhel7-zseries-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel7-zseries-large - - name: compile_integration_and_test_no_audit_parallel_stream_TG - distros: - - rhel7-zseries-large - - name: .aggregation .common - - name: audit - - name: .auth !.multiversion !.jscore - - name: .misc_js - - name: .encrypt - - name: .jscore .common !.auth - - name: .read_write_concern - - name: replica_sets_gen - - name: .replica_sets .common - - name: sasl - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.multiversion - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-83-s390x - display_name: Enterprise RHEL 8.3 s390x - run_on: - - rhel8-zseries-large-legacy - cron: "0 4 * * 0" - stepback: false - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug - release_buid: true - compile_flags: --ssl MONGO_DISTMOD=rhel83 -j16 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - resmoke_jobs_max: 2 - has_packages: true - packager_script: packager_enterprise.py - packager_arch: s390x - packager_distro: rhel83 - push_path: linux - push_bucket: downloads.10gen.com - push_name: linux - push_arch: s390x-enterprise-rhel83 - repo_edition: enterprise - multiversion_platform: rhel83 - multiversion_architecture: s390x - multiversion_edition: enterprise - exec_timeout_secs: 86400 # 24 hours exec timeout - test_flags: >- - --excludeWithAnyTags=incompatible_with_s390x,requires_increased_memlock_limits,requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_integration_and_test_no_audit_parallel_stream_TG - - name: .aggregation .common - - name: audit - - name: .auth !.multiversion !.jscore - - name: .misc_js - - name: .encrypt - - name: .jscore .common !.auth - - name: .read_write_concern - - name: replica_sets_gen - - name: .replica_sets .common - - name: sasl - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.multiversion - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping diff --git a/etc/evergreen_yml_components/variants/in_memory.yml b/etc/evergreen_yml_components/variants/in_memory.yml deleted file mode 100644 index a55e4cd7979..00000000000 --- a/etc/evergreen_yml_components/variants/in_memory.yml +++ /dev/null @@ -1,115 +0,0 @@ -# InMemory build variants that need to be run on LTS but not Rapid releases. - -buildvariants: -- name: enterprise-rhel-8-64-bit-inmem - display_name: Enterprise RHEL 8 (inMemory) - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --use-diagnostic-latches=on - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - multiversion_edition: enterprise - scons_cache_scope: shared - large_distro_name: rhel80-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel80-xlarge - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel80-xlarge - - name: compile_integration_and_test_no_audit_parallel_stream_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: .change_stream_fuzzer - - 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: .jscore .common !.decimal - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz !.initsync - - name: .logical_session_cache - - name: .multi_shard .common - - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - - name: .read_write_concern !.durable_history - - name: replica_sets_gen - - name: .replica_sets .common - - name: .replica_sets .multi_oplog - - name: replica_sets_multi_stmt_txn_jscore_passthrough - - name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen - distros: - - rhel80-medium - - name: .resharding_fuzzer - - name: .retry - - name: rollback_fuzzer_gen - - name: sasl - - name: secondary_reads_passthrough_gen - - name: session_jscore_passthrough - - name: sharded_multi_stmt_txn_jscore_passthrough - distros: - - rhel80-medium - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.multiversion !.csrs - - name: snmp - - name: .ssl - - name: .updatefuzzer - -- name: enterprise-windows-inmem - display_name: Enterprise Windows (inMemory) - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - windows-vsCurrent-small - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi - exe: ".exe" - content_type: application/zip - compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10 --use-diagnostic-latches=on - num_scons_link_jobs_available: 0.25 - python: '/cygdrive/c/python/python37/python.exe' - test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling,incompatible_with_windows_tls - ext: zip - scons_cache_scope: shared - multiversion_platform: windows - multiversion_edition: enterprise - large_distro_name: windows-vsCurrent-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - windows-vsCurrent-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - windows-vsCurrent-large - - name: .aggfuzzer .common - - name: audit - - name: auth_audit_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .concurrency .common - distros: - - windows-vsCurrent-large - - name: concurrency_replication_causal_consistency_gen - - name: initial_sync_fuzzer_gen - - name: .jscore .common !.decimal !.sharding - - name: .jstestfuzz .common !.flow_control # Flow control jstestfuzz take longer. - - name: .read_write_concern .linearize !.durable_history - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough_gen - - 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 diff --git a/etc/evergreen_yml_components/variants/misc_release.yml b/etc/evergreen_yml_components/variants/misc_release.yml deleted file mode 100644 index cfb62cbd92c..00000000000 --- a/etc/evergreen_yml_components/variants/misc_release.yml +++ /dev/null @@ -1,2814 +0,0 @@ -# All remaining release variants not included in other files. - -buildvariants: -- name: amazon2 - display_name: Amazon Linux 2 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2-latest-small - expansions: - test_flags: >- - --excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_latch_analyzer --enableEnterpriseTests=off - 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 --modules= - 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: amazon2-latest-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2-latest-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - amazon2-latest-large - - 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: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.csrs - - name: .sharding .txns - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-amazon2 - display_name: "Enterprise Amazon Linux 2" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2-latest-small - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: >- - --excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,uses_pykmip,requires_latch_analyzer - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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-latest-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - amazon2-latest-large - - name: compile_integration_and_test_parallel_stream_TG - distros: - - amazon2-latest-large - - name: .aggfuzzer .common - - name: aggregation - - name: audit - - name: .auth !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation - - name: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: noPassthrough_gen - - name: noPassthroughWithMongod_gen - - name: .replica_sets .common - - name: sasl - - name: serial_run - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .txns !.csrs - - name: slow1_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: amazon2-arm64 - display_name: Amazon Linux 2 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2-arm64-latest-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 --modules= - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_latch_analyzer --enableEnterpriseTests=off - 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-latest-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2-arm64-latest-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - amazon2-arm64-latest-large - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - distros: - - amazon2-arm64-latest-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-amazon2-arm64 - display_name: "Enterprise Amazon Linux 2 arm64" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2-arm64-latest-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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_latch_analyzer - has_packages: true - multiversion_platform: amazon2 - multiversion_edition: enterprise - multiversion_architecture: arm64 - multiversion_architecture_42_or_later: aarch64 - multiversion_skip_install_for_40: "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-latest-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - amazon2-arm64-latest-large - - name: compile_integration_and_test_parallel_stream_TG - distros: - - amazon2-arm64-latest-large - - name: test_api_version_compatibility - - name: .aggfuzzer - - name: .aggregation - - name: audit - - name: .auth - - name: .causally_consistent !.sharding - - name: .change_streams - - name: .change_stream_fuzzer - - name: .misc_js - - name: .concurrency !.large !.ubsan !.no_txns !.debug_only - - name: .concurrency .large !.ubsan !.no_txns !.debug_only - distros: - - amazon2-arm64-latest-large - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - amazon2-arm64-latest-large - - name: config_fuzzer_concurrency_replication - distros: - - amazon2-arm64-latest-large - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - amazon2-arm64-latest-large - - name: disk_wiredtiger - - name: .encrypt - - name: idl_tests - - name: initial_sync_fuzzer_gen - - name: jsCore - distros: - - amazon2-arm64-latest-large - - name: .jscore .common !jsCore - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - - name: libunwind_tests - - name: .multi_shard - - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - - name: .query_fuzzer - - name: query_stats_aggregation_passthrough - - name: query_stats_mongos_aggregation_passthrough - - name: query_stats_mongos_passthrough - - name: query_stats_passthrough - - name: .read_write_concern .large - distros: - - amazon2-arm64-latest-large - - name: .read_write_concern !.large - - name: .replica_sets !.encrypt !.auth - distros: - - amazon2-arm64-latest-large - - name: replica_sets_api_version_jscore_passthrough_gen - - name: replica_sets_reconfig_jscore_passthrough_gen - - name: retryable_writes_jscore_passthrough_gen - - name: retryable_writes_jscore_stepdown_passthrough_gen - distros: - - amazon2-arm64-latest-large - - name: .read_only - - name: .rollbackfuzzer - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: sharding_api_version_jscore_passthrough_gen - - name: .sharding .txns - - name: .sharding .common - - name: snmp - - name: .crypt - distros: - - amazon2-arm64-latest-large - - name: .publish_crypt - - name: secondary_reads_passthrough_gen - - name: server_discovery_and_monitoring_json_test_TG - - name: .serverless - distros: - - amazon2-arm64-latest-large - - name: server_selection_json_test_TG - distros: - - amazon2-arm64-latest-large - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -- name: enterprise-amazon2-arm64-grav4 - display_name: "Enterprise Amazon Linux 2 arm64 Graviton 4" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2-arm64-latest-small-m8g - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug - compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_latch_analyzer - has_packages: false - multiversion_platform: amazon2 - multiversion_edition: enterprise - multiversion_architecture: arm64 - multiversion_architecture_42_or_later: aarch64 - multiversion_skip_install_for_40: "true" - repo_edition: enterprise - scons_cache_scope: shared - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2-arm64-latest-large-m8g - - name: test_api_version_compatibility - - name: .aggfuzzer - - name: .aggregation - - name: audit - - name: .auth !.multiversion - - name: .causally_consistent !.sharding - - name: .change_streams - - name: .change_stream_fuzzer - - name: .misc_js - - name: .concurrency !.large !.ubsan !.no_txns !.debug_only - - name: .concurrency .large !.ubsan !.no_txns !.debug_only - distros: - - amazon2-arm64-latest-large-m8g - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - amazon2-arm64-latest-large-m8g - - name: config_fuzzer_concurrency_replication - distros: - - amazon2-arm64-latest-large-m8g - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - amazon2-arm64-latest-large-m8g - - name: disk_wiredtiger - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: idl_tests - - name: initial_sync_fuzzer_gen - - name: jsCore - distros: - - amazon2-arm64-latest-large-m8g - - name: .jscore .common !jsCore - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - - name: libunwind_tests - - name: .multi_shard - - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - - name: .query_fuzzer - - name: query_stats_aggregation_passthrough - - name: query_stats_mongos_aggregation_passthrough - - name: query_stats_mongos_passthrough - - name: query_stats_passthrough - - name: .read_write_concern .large - distros: - - amazon2-arm64-latest-large-m8g - - name: .read_write_concern !.large - - name: .replica_sets !.encrypt !.auth - distros: - - amazon2-arm64-latest-large-m8g - - name: replica_sets_api_version_jscore_passthrough_gen - - name: replica_sets_reconfig_jscore_passthrough_gen - - name: retryable_writes_jscore_passthrough_gen - - name: retryable_writes_jscore_stepdown_passthrough_gen - distros: - - amazon2-arm64-latest-large-m8g - - name: .read_only - - name: .rollbackfuzzer - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: sharding_api_version_jscore_passthrough_gen - - name: .sharding .txns - - name: .sharding .common !.multiversion - - name: .crypt - distros: - - amazon2-arm64-latest-large-m8g - - name: secondary_reads_passthrough_gen - - name: server_discovery_and_monitoring_json_test_TG - - name: .serverless - distros: - - amazon2-arm64-latest-large-m8g - - name: server_selection_json_test_TG - distros: - - amazon2-arm64-latest-large-m8g - - name: generate_buildid_to_debug_symbols_mapping - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -- name: amazon2023 - display_name: Amazon Linux 2023 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023.0-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: x86_64-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --modules= - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_latch_analyzer --enableEnterpriseTests=off - has_packages: true - packager_script: packager.py - packager_arch: x86_64 - packager_distro: amazon2023 - repo_edition: org - scons_cache_scope: shared - large_distro_name: amazon2023.0-large - compile_variant: amazon2023 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-large - - name: .aggfuzzer .common !.multiversion - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js !.parallel - - name: .concurrency .common - distros: - - amazon2023.0-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.csrs !.multiversion - - name: .sharding .txns - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-amazon2023 - display_name: "Enterprise Amazon Linux 2023" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023.0-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: x86_64-enterprise-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --enterprise-features="audit,encryptdb,fcbis,fips,fle,hot_backups,inmemory,kerberos,vector_search,ldap,live_import,mongohouse,queryable,sasl,search,serverless" - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_external_data_source,requires_latch_analyzer - has_packages: true - multiversion_platform: amazon2023 - multiversion_edition: enterprise - multiversion_architecture: x86_64 - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: amazon2023 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: enterprise-amazon2023 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-large - - name: .aggfuzzer .common !.multiversion - - name: aggregation - - name: audit - - name: .auth !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation - - name: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: noPassthrough_gen - - name: noPassthroughWithMongod_gen - - name: .replica_sets .common - - name: sasl - - name: serial_run - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .txns !.csrs - - name: slow1_gen - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: amazon2023-arm64 - display_name: Amazon Linux 2023 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023.0-arm64-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: aarch64-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --modules= - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_latch_analyzer --enableEnterpriseTests=off - has_packages: true - packager_script: packager.py - packager_arch: aarch64 - packager_distro: amazon2023 - repo_edition: org - scons_cache_scope: shared - large_distro_name: amazon2023.0-arm64-large - compile_variant: amazon2023-arm64 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-arm64-large - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js !.parallel - - name: .concurrency .common - distros: - - amazon2023.0-arm64-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: amazon2023-arm64-grav4 - display_name: Amazon Linux 2023 arm64 Graviton 4 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023-arm64-latest-small-m8g - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: aarch64-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --modules= - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_latch_analyzer --enableEnterpriseTests=off - has_packages: true - packager_script: packager.py - packager_arch: aarch64 - packager_distro: amazon2023 - repo_edition: org - scons_cache_scope: shared - large_distro_name: amazon2023-arm64-latest-large-m8g - compile_variant: amazon2023-arm64-grav4 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023-arm64-latest-large-m8g - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - amazon2023-arm64-latest-large-m8g - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - distros: - - amazon2023-arm64-latest-large-m8g - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-amazon2023-arm64 - display_name: "Enterprise Amazon Linux 2023 arm64" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023.0-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-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --enterprise-features="audit,encryptdb,fcbis,fips,fle,hot_backups,inmemory,kerberos,vector_search,ldap,live_import,mongohouse,queryable,sasl,search,serverless" - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_external_data_source,requires_latch_analyzer - has_packages: true - multiversion_platform: amazon2023 - multiversion_edition: enterprise - multiversion_architecture: aarch64 - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: amazon2023 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: enterprise-amazon2023-arm64 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-arm64-large - - name: .aggfuzzer !.multiversion - - name: audit - - name: auth_audit_gen - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: .replica_sets .multi_oplog - - name: sasl - - name: search - - name: search_auth - - name: search_ssl - - name: sharding_auth_audit_gen - - name: sharding_auth_gen - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-amazon2023-arm64-grav4 - display_name: "Enterprise Amazon Linux 2023 Graviton 4" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - amazon2023-arm64-latest-small-m8g - 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-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --enterprise-features="audit,encryptdb,fcbis,fips,fle,hot_backups,inmemory,kerberos,vector_search,ldap,live_import,mongohouse,queryable,sasl,search,serverless" - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_external_data_source,requires_latch_analyzer - has_packages: true - multiversion_platform: amazon2023 - multiversion_edition: enterprise - multiversion_architecture: aarch64 - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: amazon2023 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: enterprise-amazon2023-arm64-grav4 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023-arm64-latest-large-m8g - - name: test_api_version_compatibility - - name: .aggfuzzer !.multiversion - - name: .aggregation - - name: audit - - name: .auth !.multiversion - - name: .causally_consistent !.sharding - - name: .change_streams - - name: .change_stream_fuzzer - - name: .misc_js - - name: .concurrency !.large !.ubsan !.no_txns !.debug_only - - name: .concurrency .large !.ubsan !.no_txns !.debug_only - distros: - - amazon2023-arm64-latest-large-m8g - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - amazon2023-arm64-latest-large-m8g - - name: config_fuzzer_concurrency_replication - distros: - - amazon2023-arm64-latest-large-m8g - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - amazon2023-arm64-latest-large-m8g - - name: disk_wiredtiger - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: idl_tests - - name: initial_sync_fuzzer_gen - - name: jsCore - distros: - - amazon2023-arm64-latest-large-m8g - - name: .jscore .common !jsCore - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - - name: libunwind_tests - - name: .multi_shard - - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - - name: .query_fuzzer - - name: query_stats_aggregation_passthrough - - name: query_stats_mongos_aggregation_passthrough - - name: query_stats_mongos_passthrough - - name: query_stats_passthrough - - name: .read_write_concern .large - distros: - - amazon2023-arm64-latest-large-m8g - - name: .read_write_concern !.large - - name: .replica_sets !.encrypt !.auth - distros: - - amazon2023-arm64-latest-large-m8g - - name: replica_sets_api_version_jscore_passthrough_gen - - name: replica_sets_reconfig_jscore_passthrough_gen - - name: retryable_writes_jscore_passthrough_gen - - name: retryable_writes_jscore_stepdown_passthrough_gen - distros: - - amazon2023-arm64-latest-large-m8g - - name: .read_only - - name: .rollbackfuzzer - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: sharding_api_version_jscore_passthrough_gen - - name: .sharding .txns - - name: .sharding .common !.multiversion - - name: .crypt - distros: - - amazon2023-arm64-latest-large-m8g - - name: .publish_crypt - - name: secondary_reads_passthrough_gen - - name: server_discovery_and_monitoring_json_test_TG - - name: .serverless - distros: - - amazon2023-arm64-latest-large-m8g - - name: server_selection_json_test_TG - distros: - - amazon2023-arm64-latest-large-m8g - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -- name: debian10 - display_name: Debian 10 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - multiversion_platform: linux_x86_64 - multiversion_edition: base - multiversion_platform_42_or_later: debian10 - multiversion_edition_42_or_later: 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: compile_test_and_package_parallel_unittest_stream_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: .jscore .common !.decimal - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-debian10-64 - display_name: Enterprise Debian 10 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: linux_x86_64 - multiversion_edition: base - multiversion_platform_42_or_later: debian10 - multiversion_edition_42_or_later: 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - debian10-build - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - debian10-build - - name: .aggfuzzer .common - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: debian11 - display_name: Debian 11 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - debian11-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: x86_64-debian11 - compile_flags: --ssl MONGO_DISTMOD=debian11 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - multiversion_platform: linux_x86_64 - multiversion_edition: base - multiversion_platform_42_or_later: debian10 - multiversion_edition_42_or_later: targeted - multiversion_platform_last_lts: debian11 - multiversion_edition_last_lts: targeted - has_packages: true - packager_script: packager.py - packager_arch: x86_64 - packager_distro: debian11 - repo_edition: org - scons_cache_scope: shared - large_distro_name: debian11-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - debian11-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - debian11-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: .jscore .common !.decimal - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-debian11-64 - display_name: Enterprise Debian 11 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - debian11-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: x86_64-enterprise-debian11 - compile_flags: --ssl MONGO_DISTMOD=debian11 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: linux_x86_64 - multiversion_edition: base - multiversion_platform_42_or_later: debian10 - multiversion_edition_42_or_later: enterprise - multiversion_platform_last_lts: debian11 - multiversion_edition_last_lts: enterprise - has_packages: true - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: debian11 - repo_edition: enterprise - scons_cache_scope: shared - large_distro_name: debian11-large - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - debian11-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - debian11-large - - name: .aggfuzzer .common !.multiversion - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: rhel70 - display_name: RHEL 7.0 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - 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-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel70-large - - 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: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: selinux_rhel7_org - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - # 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 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_and_archive_dist_test_then_package_TG - distros: - - rhel70 - - name: .ssl - - name: jsCore - - name: external_auth - -- name: ubi8 - display_name: "UBI 8" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - tooltags: "" - build_mongoreplay: true - test_flags: >- - --excludeWithAnyTags=requires_os_access,requires_latch_analyzer --enableEnterpriseTests=off - tasks: - - name: compile_and_archive_dist_test_then_package_TG - distros: - - rhel80-large - - name: jsCore - - name: sharding_gen - - name: replica_sets_gen - -- name: rhel8 - display_name: RHEL 8 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel80-build - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: x86_64-rhel8 - compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - 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: compile_test_and_package_parallel_unittest_stream_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: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: selinux_rhel8_org - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-8-64-bit - display_name: "Enterprise RHEL 8" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel80-small - expansions: &enterprise-rhel-8-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-rhel8 - compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel80-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel80-large - - name: compile_integration_and_test_parallel_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: .change_stream_fuzzer - - 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: .jscore .common - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - - name: libunwind_tests - - name: .multi_shard - - name: multi_stmt_txn_jscore_passthrough_with_migration_gen - - name: multiversion_gen - - name: .query_fuzzer - - name: query_stats_aggregation_passthrough - - name: query_stats_mongos_aggregation_passthrough - - name: query_stats_mongos_passthrough - - name: query_stats_passthrough - - name: .random_multiversion_ds - - name: .read_write_concern .large - distros: - - rhel80-medium - - name: .read_write_concern !.large - - name: .replica_sets !.encrypt !.auth - distros: - - rhel80-medium - - name: replica_sets_api_version_jscore_passthrough_gen - - name: replica_sets_reconfig_jscore_passthrough_gen - - name: replica_sets_reconfig_jscore_stepdown_passthrough_gen - distros: - - rhel80-medium - - name: replica_sets_reconfig_kill_primary_jscore_passthrough_gen - distros: - - rhel80-medium - - name: .resharding_fuzzer - - name: retryable_writes_jscore_passthrough_gen - - name: retryable_writes_jscore_stepdown_passthrough_gen - distros: - - rhel80-medium - - name: .read_only - - name: .rollbackfuzzer - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: sharding_api_version_jscore_passthrough_gen - - name: .sharding .txns - - name: .sharding .common - - name: snmp - - name: .crypt - distros: - - rhel80-large - - name: .publish_crypt - - 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: selinux_rhel8_enterprise - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -- name: rhel-8-arm64 - display_name: RHEL 8 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel82-arm64-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: aarch64-rhel8 - compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - 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 - test_flags: --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer --enableEnterpriseTests=off - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel82-arm64-large - - name: compile_test_and_package_parallel_unittest_stream_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: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-8-arm64 - display_name: "Enterprise RHEL 8 arm64" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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-rhel8 - compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - has_packages: true - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: rhel82 - repo_edition: enterprise - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel82-arm64-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel82-arm64-large - - name: .aggfuzzer !.multiversion - - name: audit - - name: auth_audit_gen - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: .replica_sets .multi_oplog - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: sharding_auth_audit_gen - - name: sharding_auth_gen - - name: snmp - - name: .crypt - distros: - - rhel82-arm64-large - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -- name: rhel90 - display_name: RHEL 9.0 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel90-large - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: x86_64-rhel90 - compile_flags: --ssl MONGO_DISTMOD=rhel90 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - multiversion_platform: rhel90 - multiversion_edition: targeted - has_packages: true - packager_script: packager.py - packager_arch: x86_64 - packager_distro: rhel90 - repo_edition: org - scons_cache_scope: shared - large_distro_name: rhel90-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel90-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel90-large - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - distros: - - rhel90-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common !.multiversion - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: selinux_rhel9_org - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: enterprise-rhel-90-64-bit - display_name: "Enterprise RHEL 9.0" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel90-small - expansions: &enterprise-rhel-90-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-rhel90 - compile_flags: --ssl MONGO_DISTMOD=rhel90 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: rhel90 - multiversion_edition: enterprise - has_packages: true - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: rhel90 - repo_edition: enterprise - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel90-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel90-large - - name: compile_build_tools_next_TG - distros: - - rhel90-large - - name: .aggfuzzer !.multiversion - - name: audit - - name: auth_audit_gen - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - rhel90-large - - name: config_fuzzer_concurrency_replication - distros: - - rhel90-large - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - rhel90-large - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: .ocsp - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: .replica_sets .multi_oplog - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: sharding_auth_audit_gen - - name: sharding_auth_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - - name: selinux_rhel9_enterprise - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: rhel90-arm64 - display_name: RHEL 9.0 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel90-arm64-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: aarch64-rhel90 - compile_flags: --ssl MONGO_DISTMOD=rhel90 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - has_packages: true - packager_script: packager.py - packager_arch: aarch64 - packager_distro: rhel90 - repo_edition: org - scons_cache_scope: shared - large_distro_name: rhel90-arm64-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel90-arm64-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel90-arm64-large - - name: aggregation - - name: .auth !.audit !.multiversion - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - distros: - - rhel90-arm64-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-rhel-90-arm64 - display_name: "Enterprise RHEL 9.0 arm64" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel90-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-rhel90 - compile_flags: --ssl MONGO_DISTMOD=rhel90 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - has_packages: true - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: rhel90 - repo_edition: enterprise - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - rhel90-arm64-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - rhel90-arm64-large - - name: .aggfuzzer !.multiversion - - name: audit - - name: auth_audit_gen - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_txns_large_txns_format - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: .replica_sets .multi_oplog - - name: sasl - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: sharding_auth_audit_gen - - name: sharding_auth_gen - - name: snmp - - name: .crypt - distros: - - rhel90-arm64-large - - name: .publish_crypt - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: suse12 - display_name: SUSE 12 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - suse12-sp5-small - 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 --modules= - 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 - test_flags: --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer --enableEnterpriseTests=off - large_distro_name: suse12-sp5-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - suse12-sp5-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - suse12-sp5-large - - 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-sp5-large - - name: concurrency_replication_causal_consistency_gen - - name: disk_wiredtiger - - name: .jscore .common !.decimal - - name: .jstestfuzz .common - - name: multiversion_gen - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-suse12-64 - display_name: Enterprise SLES 12 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - suse12-sp5-small - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - large_distro_name: suse12-sp5-large - tasks: - - name: compile_test_and_package_serial_TG - distros: - - suse12-sp5-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - suse12-sp5-large - - name: .aggfuzzer .common - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .crypt - distros: - - suse12-sp5-large - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-suse15-64 - display_name: Enterprise SLES 15 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - has_packages: true - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: suse15 - repo_edition: enterprise - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - suse15-build - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - suse15-build - - name: .aggfuzzer .common !.multiversion - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: suse15 - display_name: SUSE 15 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - multiversion_platform: linux_x86_64 - multiversion_edition: base - multiversion_platform_42_or_later: suse15 - multiversion_edition_42_or_later: targeted - has_packages: true - packager_script: packager.py - packager_arch: x86_64 - packager_distro: suse15 - repo_edition: org - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer --enableEnterpriseTests=off - large_distro_name: suse15-build - tasks: - - name: compile_test_and_package_serial_TG - distros: - - suse15-build - - name: compile_test_and_package_parallel_unittest_stream_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: .jscore .common !.decimal - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: .sharding .common !.csrs !.multiversion - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: ubuntu1804 - display_name: Ubuntu 18.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - multiversion_platform: ubuntu1804 - multiversion_edition: targeted - test_flags: --excludeWithAnyTags=requires_ocsp_stapling,requires_latch_analyzer --enableEnterpriseTests=off - 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: compile_test_and_package_parallel_unittest_stream_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: .jepsen - distros: - - ubuntu1804-build - - name: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: multiversion_gen - - name: .powercycle - - name: replica_sets_gen - - name: replica_sets_jscore_passthrough - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: watchdog_wiredtiger - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-ubuntu1804-64 - display_name: Enterprise Ubuntu 18.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: ubuntu1804 - multiversion_edition: enterprise - test_flags: --excludeWithAnyTags=requires_ocsp_stapling,requires_latch_analyzer - 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_test_and_package_parallel_unittest_stream_TG - distros: - - ubuntu1804-build - - name: compile_build_tools_next_TG - distros: - - ubuntu1804-build - - name: libdeps_graph_linting_TG - distros: - - ubuntu1804-build - - name: .crypt - - name: .publish_crypt - - name: .aggfuzzer .common - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jepsen - distros: - - ubuntu1804-build - - name: .jscore .common !.decimal !.sharding - - name: jsCore_auth - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: .multiversion_fuzzer - - name: .multiversion_passthrough - - name: .ocsp - - name: .random_multiversion_ds - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .watchdog - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-ubuntu1804-arm64 - display_name: Enterprise Ubuntu 18.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - test_flags: --excludeWithAnyTags=requires_ocsp_stapling,requires_latch_analyzer - 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: compile_test_and_package_parallel_unittest_stream_TG - - name: aggregation - - name: aggregation_wildcard_fuzzer_gen - - name: .auth !.audit !.multiversion !.jscore - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - - name: concurrency_replication_causal_consistency_gen - - name: fle - - name: .jscore .common !.auth - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: .ssl - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: ubuntu1804-arm64 - display_name: Ubuntu 18.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --excludeWithAnyTags=requires_ocsp_stapling,requires_latch_analyzer --enableEnterpriseTests=off - 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: compile_test_and_package_parallel_unittest_stream_TG - - name: jsCore - - name: replica_sets_jscore_passthrough - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: ubuntu2204 - display_name: Ubuntu 22.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - ubuntu2204-small - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: x86_64-ubuntu2204 - compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - multiversion_platform: ubuntu2204 - multiversion_edition: targeted - has_packages: true - packager_script: packager.py - packager_arch: x86_64 - packager_distro: ubuntu2204 - repo_edition: org - scons_cache_scope: shared - large_distro_name: ubuntu2204-large - test_flags: --excludeWithAnyTags=requires_increased_memlock_limits,requires_latch_analyzer --enableEnterpriseTests=off - tasks: - - name: compile_test_and_package_serial_TG - distros: - - ubuntu2204-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - ubuntu2204-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: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - # - name: multiversion_gen - - name: replica_sets_gen - - name: replica_sets_jscore_passthrough - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: ubuntu2004 - display_name: Ubuntu 20.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - 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: compile_test_and_package_parallel_unittest_stream_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: .jscore .common - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - # - name: multiversion_gen - - name: replica_sets_gen - - name: replica_sets_jscore_passthrough - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: .ssl - - name: .stitch - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-ubuntu2004-64 - display_name: Enterprise Ubuntu 20.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - ubuntu2004-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - ubuntu2004-large - - name: .crypt - - name: .publish_crypt - - name: .aggfuzzer .common !.multiversion - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_auth - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: .ocsp - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: enterprise-ubuntu2204-64 - display_name: Enterprise Ubuntu 22.04 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - ubuntu2204-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-ubuntu2204 - compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - multiversion_platform: ubuntu2204 - multiversion_edition: enterprise - has_packages: true - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: ubuntu2204 - repo_edition: enterprise - scons_cache_scope: shared - large_distro_name: ubuntu2204-large - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - distros: - - ubuntu2204-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - ubuntu2204-large - - name: .crypt - - name: .publish_crypt - - name: .aggfuzzer .common !.multiversion - - name: audit - - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore - - name: external_auth - - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding - - name: jsCore_auth - - name: .jstestfuzz .common - - name: libunwind_tests - - name: .logical_session_cache .one_sec - - name: .ocsp - - name: replica_sets_auth_gen - - name: replica_sets_jscore_passthrough - - name: sasl - - name: sharding_auth_gen - - name: snmp - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: enterprise-ubuntu2204-jepsen - display_name: Jepsen Tests on Enterprise Ubuntu 22.04 - tags: ["bazel_check"] - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - ubuntu2204-small - stepback: false - expansions: - compile_flags: >- - --ssl - MONGO_DISTMOD=ubuntu2204 - -j$(grep -c ^processor /proc/cpuinfo) - --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars - scons_cache_scope: shared - large_distro_name: ubuntu2204-large - compile_variant: enterprise-ubuntu2204-64 - tasks: - - name: compile_test_and_package_serial_TG - distros: - - ubuntu2204-large - - name: .jepsen_docker - distros: - - ubuntu2204-large - -- name: enterprise-ubuntu2004-arm64 - display_name: Enterprise Ubuntu 20.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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 - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: aggregation - - name: aggregation_wildcard_fuzzer_gen - - name: .auth !.audit !.multiversion !.jscore - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - - name: concurrency_replication_causal_consistency_gen - - name: fle - - name: .jscore .common !.auth - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: .ssl - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: ubuntu2004-arm64 - display_name: Ubuntu 20.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - 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 --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - 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: compile_test_and_package_parallel_unittest_stream_TG - - name: jsCore - - name: replica_sets_jscore_passthrough - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - - -- name: enterprise-ubuntu2204-arm64 - display_name: Enterprise Ubuntu 22.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - ubuntu2204-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-ubuntu2204 - compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - 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: ubuntu2204 - repo_edition: enterprise - multiversion_platform: ubuntu2204 - multiversion_architecture: arm64 - multiversion_architecture_42_or_later: aarch64 - multiversion_edition: enterprise - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_latch_analyzer - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: aggregation - - name: aggregation_wildcard_fuzzer_gen - - name: .auth !.audit !.multiversion !.jscore - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - - name: .concurrency .common - - name: concurrency_replication_causal_consistency_gen - - name: fle - - name: .jscore .common !.auth - - name: .jstestfuzz .common - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common - - name: .sharding .txns - - name: sharding_gen - - name: sharding_jscore_passthrough - - name: .ssl - - name: .crypt - - name: .publish_crypt - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: ubuntu2204-arm64 - display_name: Ubuntu 22.04 arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - ubuntu2204-arm64-large - expansions: - push_path: linux - push_bucket: downloads.mongodb.org - push_name: linux - push_arch: aarch64-ubuntu2204 - compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --modules= - test_flags: --enableEnterpriseTests=off --excludeWithAnyTags=requires_latch_analyzer - 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: ubuntu2204 - repo_edition: org - multiversion_platform: ubuntu2204 - 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: compile_test_and_package_parallel_unittest_stream_TG - - name: jsCore - - name: replica_sets_jscore_passthrough - - name: .publish - - name: generate_buildid_to_debug_symbols_mapping - -- name: windows - display_name: Windows - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - windows-vsCurrent-small - expansions: - additional_package_targets: msi - exe: ".exe" - push_path: windows - push_bucket: downloads.mongodb.org - push_name: windows - push_arch: x86_64 - multiversion_platform: windows_x86_64-2008plus-ssl - multiversion_platform_42_or_later: windows_x86_64-2012plus - multiversion_platform_44_or_later: windows - multiversion_edition: base - content_type: application/zip - compile_flags: --ssl MONGO_DISTMOD=windows -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10 --modules= - num_scons_link_jobs_available: 0.25 - python: '/cygdrive/c/python/python37/python.exe' - ext: zip - scons_cache_scope: shared - large_distro_name: windows-vsCurrent-large - test_flags: &windows_common_test_excludes --excludeWithAnyTags=incompatible_with_windows_tls,requires_latch_analyzer --enableEnterpriseTests=off - tasks: - - name: compile_test_and_package_serial_TG - distros: - - windows-vsCurrent-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - windows-vsCurrent-large - - name: .aggfuzzer - - name: .aggregation !.auth !.encrypt !.unwind - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - # Some concurrency workloads require a lot of memory, so we use machines - # with more RAM for these suites. - - name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only - distros: - - windows-vsCurrent-large - - name: .concurrency .common - - name: disk_wiredtiger - - name: .jscore .common !.auth - - name: json_schema - - name: .jstestfuzz !.initsync !.flow_control !.stepdowns - - name: multiversion_gen - - name: multiversion_auth_gen - - name: .query_fuzzer - - name: .read_write_concern - - name: replica_sets_gen - - name: replica_sets_jscore_passthrough_gen - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .txns - - name: .sharding .common !.csrs - - name: .ssl - - name: .stitch - - name: .updatefuzzer - - name: push - -- name: enterprise-windows - display_name: "Enterprise Windows" - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - windows-vsCurrent-small - expansions: - exe: ".exe" - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug msi archive-mh archive-mh-debug - content_type: application/zip - compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10 - num_scons_link_jobs_available: 0.25 - python: '/cygdrive/c/python/python37/python.exe' - ext: zip - scons_cache_scope: shared - multiversion_platform: windows - multiversion_edition: enterprise - jstestfuzz_num_generated_files: 35 - target_resmoke_time: 20 - max_sub_suites: 3 - large_distro_name: windows-vsCurrent-large - push_path: windows - push_bucket: downloads.10gen.com - push_name: windows - push_arch: x86_64-enterprise - test_flags: *windows_common_test_excludes - exec_timeout_secs: 14400 # 3 hour timeout - tasks: - - name: compile_test_and_package_serial_TG - distros: - - windows-vsCurrent-large - - name: compile_test_and_package_parallel_unittest_stream_TG - distros: - - windows-vsCurrent-large - - name: .aggfuzzer - - name: .aggregation !.auth !.encrypt !.unwind - - name: auth_gen - - name: causally_consistent_jscore_txns_passthrough - - name: .misc_js - # Some concurrency workloads require a lot of memory, so we use machines - # with more RAM for these suites. - - name: .concurrency !.ubsan !.no_txns !.kill_terminate !.common !.debug_only - distros: - - windows-vsCurrent-large - - name: .concurrency .common - - name: .crypt - distros: - - windows-vsCurrent-large - - name: .publish_crypt - - name: disk_wiredtiger - - name: .jscore .common !.auth - - name: json_schema - - name: .jstestfuzz !.initsync !.flow_control !.stepdowns - - name: multiversion_gen - - name: multiversion_auth_gen - - name: .query_fuzzer - - name: .read_write_concern - - name: replica_sets_gen - - name: replica_sets_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot !.multi_stmt - - name: .sharding .txns - - name: .sharding .common !.csrs - - name: .ssl - - name: .updatefuzzer - - name: push - - ########################################### - # macOS buildvariants # - ########################################### -- name: macos - display_name: macOS - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - macos-11 - expansions: - test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_latch_analyzer --enableEnterpriseTests=off - push_path: osx - push_bucket: downloads.mongodb.org - push_name: macos - push_arch: x86_64 - compile_env: DEVELOPER_DIR=/Applications/Xcode13.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars --modules= - resmoke_jobs_max: 6 - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: compile_build_tools_next_TG - - name: aggregation - - name: auth_gen - - name: change_streams - - name: .misc_js - - name: disk_wiredtiger - - name: .jscore .common !.auth !.sharding - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common !.auth - - name: .ssl - - name: push - -- name: macos-arm64 - display_name: macOS arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - macos-11-arm64 - expansions: - test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_latch_analyzer --enableEnterpriseTests=off - push_path: osx - push_bucket: downloads.mongodb.org - push_name: macos - push_arch: arm64 - compile_env: DEVELOPER_DIR=/Applications/Xcode13.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx_arm.vars --modules= - resmoke_jobs_max: 6 - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: compile_build_tools_next_TG - - name: aggregation - - name: auth_gen - - name: change_streams - - name: .misc_js - - name: disk_wiredtiger - - name: .jscore .common !.auth !.sharding - - name: .logical_session_cache .one_sec - - name: replica_sets_gen - - name: .replica_sets .common !.auth - - name: .ssl - - name: push - -- name: enterprise-macos - display_name: Enterprise macOS - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - macos-11 - expansions: - test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_latch_analyzer - 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/Xcode13.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_test_and_package_parallel_unittest_stream_TG - - name: compile_build_tools_next_TG - - name: audit - - name: auth_audit_gen - - name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: sasl - - name: push - - name: .crypt - - name: .publish_crypt - -- name: enterprise-macos-arm64 - display_name: Enterprise macOS arm64 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - macos-11-arm64 - expansions: - test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_latch_analyzer - 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: arm64-enterprise - compile_env: DEVELOPER_DIR=/Applications/Xcode13.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx_arm.vars - resmoke_jobs_max: 6 - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: compile_build_tools_next_TG - - name: audit - - name: auth_audit_gen - - name: .jscore .common !.decimal !.sharding - - name: fle - - name: fle2 - - name: .logical_session_cache .one_sec - - name: replica_sets_auth_gen - - name: sasl - - name: push - - name: .crypt - - name: .publish_crypt - -- name: amazon-linux2-arm64-try-sbe-engine - display_name: Amazon Linux 2 arm64 Query Patch Only (trySbeEngine) - cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter. - run_on: - - amazon2-arm64-latest-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 - # Diagnostic latches are disabled by default, and we match that behavior here. We also need to - # exclude tests with 'requires_latch_analyzer'. - compile_flags: >- - --ssl - MONGO_DISTMOD=amazon2 - -j$(grep -c ^processor /proc/cpuinfo) - --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars - --use-diagnostic-latches=off - crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" - test_flags: >- - --mongodSetParameters="{featureFlagSbeFull: true, internalQueryForceClassicEngine: false}" - --excludeWithAnyTags=resource_intensive,incompatible_with_amazon_linux,sbe_incompatible,requires_latch_analyzer - has_packages: true - multiversion_platform: amazon2 - multiversion_edition: enterprise - multiversion_architecture: arm64 - multiversion_architecture_42_or_later: aarch64 - multiversion_skip_install_for_40: "true" - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: amazon2 - repo_edition: enterprise - scons_cache_scope: shared - large_distro_name: amazon2-arm64-latest-large - tasks: - - name: compile_and_archive_dist_test_then_package_TG - distros: - - amazon2-arm64-latest-large - - name: aggregation_mongos_passthrough - - name: aggregation_sharded_collections_passthrough - - name: aggregation_one_shard_sharded_collections - - name: aggregation - - name: aggregation_disabled_optimization - - name: noPassthrough_gen - - name: noPassthroughWithMongod_gen - - name: jsCore - distros: - - amazon2-arm64-latest-large - - name: replica_sets_jscore_passthrough_gen - - name: sharded_collections_jscore_passthrough_gen - - name: sharding_jscore_passthrough - - name: burn_in_tests_gen - - name: concurrency_gen - - name: concurrency_replication_gen - - name: concurrency_sharded_replication_gen - -# This task is responsible for creating a AL2023 x86 server binary candidate for 10gen/mongot. -# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting -# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests. -- name: amazon-linux-2023-x86-mongot-integration-cron-only - display_name: "AL2023 x86 mongot integration tasks cron only" - cron: "0 */4 * * *" # Run these tasks every 4 hours - patchable: false - run_on: - - amazon2023.0-small - expansions: - push_path: linux - push_bucket: downloads.10gen.com - push_name: linux - push_arch: x86_64-enterprise-amazon2023 - compile_flags: --ssl MONGO_DISTMOD=amazon2023 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --enterprise-features="audit,encryptdb,fcbis,fips,fle,hot_backups,inmemory,kerberos,vector_search,ldap,live_import,mongohouse,queryable,sasl,search,serverless" - # TODO BUILD-13887 should fix uses_pykmip incompatibility. - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip,requires_v4_0,requires_external_data_source,requires_latch_analyzer - has_packages: false - multiversion_platform: amazon2023 - multiversion_edition: enterprise - multiversion_architecture: x86_64 - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: amazon2023 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: amazon-linux-2023-x86-mongot-integration-cron-only - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-large - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -# This task is responsible for creating a AL2023 arm64 server binary candidate for 10gen/mongot. -# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting -# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests. -- name: amazon2023-arm64-mongot-integration-cron-only - display_name: "AL2023 arm64 mongot integration tasks cron only" - cron: "0 */4 * * *" # Run these tasks every 4 hours - patchable: false - run_on: - - amazon2023.0-arm64-small - expansions: - compile_flags: >- - --ssl - MONGO_DISTMOD=amazon2023 - -j$(grep -c ^processor /proc/cpuinfo) - --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --enterprise-features="audit,encryptdb,fcbis,fips,fle,hot_backups,inmemory,kerberos,vector_search,ldap,live_import,mongohouse,queryable,sasl,search,serverless" - test_flags: >- - --excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_latch_analyzer - --enableEnterpriseTests=off - has_packages: false - multiversion_platform: amazon2023 - multiversion_edition: enterprise - multiversion_architecture: aarch64 - packager_script: packager_enterprise.py - packager_arch: aarch64 - packager_distro: amazon2023 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: amazon2023-arm64-mongot-integration-cron-only - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2023.0-arm64-large - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -# This task is responsible for creating a AL2 arm64 server binary candidate for 10gen/mongot. -# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting -# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests. -- name: amazon-linux2-arm64-mongot-integration-cron-only - display_name: "AL2 arm64 mongot integration tasks cron only" - cron: "0 */4 * * *" # Run these tasks every 4 hours - patchable: false - run_on: - - amazon2-arm64-small - stepback: true - expansions: - compile_flags: >- - --ssl - MONGO_DISTMOD=amazon2 - -j$(grep -c ^processor /proc/cpuinfo) - --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars - scons_cache_scope: shared - scons_cache_mode: all - has_packages: false - target_resmoke_time: 10 - idle_timeout_factor: 1.5 - exec_timeout_factor: 1.5 - compile_variant: amazon-linux2-arm64-mongot-integration-cron-only - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2-arm64-large - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl - -# This task is responsible for creating a AL2 x86 server binary candidate for 10gen/mongot. -# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting -# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests -- name: amazon2-x86-mongot-integration-cron-only - display_name: "AL2 x86 mongot integration tasks cron only" - cron: "0 */4 * * *" # Run these tasks every 4 hours - patchable: false - run_on: - - amazon2-large - expansions: - compile_flags: >- - --ssl - MONGO_DISTMOD=amazon2 - -j$(grep -c ^processor /proc/cpuinfo) - --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars - test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source,requires_latch_analyzer - has_packages: false - multiversion_platform: amazon2 - multiversion_edition: enterprise - multiversion_architecture: x86_64 - packager_script: packager_enterprise.py - packager_arch: x86_64 - packager_distro: amazon2 - repo_edition: enterprise - scons_cache_scope: shared - compile_variant: amazon2-x86-mongot-integration-cron-only - tasks: - - name: compile_test_and_package_serial_TG - distros: - - amazon2-large - - name: search - - name: search_auth - - name: search_pinned_connections_auth - - name: search_ssl - - name: vector_search - - name: vector_search_auth - - name: vector_search_ssl diff --git a/etc/evergreen_yml_components/variants/ninja.yml b/etc/evergreen_yml_components/variants/ninja.yml deleted file mode 100644 index 4dbe6fb576f..00000000000 --- a/etc/evergreen_yml_components/variants/ninja.yml +++ /dev/null @@ -1,85 +0,0 @@ -buildvariants: - -- name: enterprise-windows-ninja - display_name: "Ninja Build: Enterprise Windows" - cron: "0 4 * * 0" # Run once a week to ensure no failures introduced to ninja builds - expansions: - compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10 - tasks: - - name: compile_ninja_next_TG - distros: - - windows-vsCurrent-large - - name: compile_ninja_TG - distros: - - windows-vsCurrent-large - -- name: macos-enterprise-ninja - display_name: "Ninja Build: macOS Enterprise" - cron: "0 4 * * 0" # Run once a week to ensure no failures introduced to ninja builds - run_on: - - macos-11 - expansions: - compile_env: DEVELOPER_DIR=/Applications/Xcode13.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars - tasks: - - name: compile_ninja_next_TG - - name: compile_ninja_TG - -- name: ubuntu1804-ninja-build-profiles - display_name: "Ninja Build Profiles: Ubuntu 18.04" - cron: "0 4 * * 0" # # Run once a week to ensure no failures introduced to build profiles - run_on: - - ubuntu1804-small - stepback: false - expansions: - compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --modules= - test_flags: --enableEnterpriseTests=off - repo_edition: enterprise - has_packages: false - tasks: - - name: compile_ninja_default_profile_TG - distros: - - ubuntu1804-xlarge - - name: compile_ninja_opt_profile_TG - distros: - - ubuntu1804-xlarge - - name: compile_ninja_san_profile_TG - distros: - - ubuntu1804-xlarge - - name: compile_ninja_fast_profile_TG - distros: - - ubuntu1804-xlarge - -- name: enterprise-rhel-8-64-bit-dynamic-required-ninja - display_name: "Ninja Build: Enterprise RHEL 8" - cron: "0 4 * * 0" # Run once a week to ensure no failures introduced to ninja builds - run_on: - - rhel80-small - expansions: - compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic - has_packages: false - tasks: - - name: compile_ninja_next_TG - distros: - - rhel80-xlarge - - name: compile_ninja_TG - distros: - - rhel80-xlarge - -- name: enterprise-rhel8-ninja - display_name: "Ninja Build: RHEL 8" - cron: "0 4 * * 0" # Run once a week to ensure no failures introduced to ninja builds - run_on: - - rhel80-small - stepback: false - expansions: - compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic - repo_edition: enterprise - has_packages: false - tasks: - - name: compile_ninja_next_TG - distros: - - rhel80-build - - name: compile_ninja_TG - distros: - - rhel80-build diff --git a/etc/evergreen_yml_components/variants/sanitizer.yml b/etc/evergreen_yml_components/variants/sanitizer.yml deleted file mode 100644 index 14a982998ff..00000000000 --- a/etc/evergreen_yml_components/variants/sanitizer.yml +++ /dev/null @@ -1,168 +0,0 @@ -# Build variant definitions for vanilla sanitizers that can be used across -# release and dev environments. - -buildvariants: - -- name: rhel8-asan - display_name: ~ ASAN RHEL 8 - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel80-build - stepback: true - expansions: - lang_environment: LANG=C - san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/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) --use-diagnostic-latches=on - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - multiversion_edition: enterprise - resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build. - hang_analyzer_dump_core: false - scons_cache_scope: shared - test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling - separate_debug: off - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: .aggfuzzer .common - - name: .jstestfuzz !.initsync - -- name: rhel8-debug-asan - display_name: ~ ASAN Enterprise RHEL 8 DEBUG - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel80-build - stepback: false - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug - lang_environment: LANG=C - # If you add anything to san_options, make sure the appropriate changes are - # also made to SConstruct. - san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1:external_symbolizer_path=/opt/mongodbtoolchain/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 -j$(grep -c ^processor /proc/cpuinfo) - test_flags: --excludeWithAnyTags=requires_fast_memory,requires_ocsp_stapling,requires_increased_memlock_limits,requires_latch_analyzer - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - multiversion_edition: enterprise - resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build. - hang_analyzer_dump_core: false - scons_cache_scope: shared - exec_timeout_secs: 14400 # 3 hour timeout - separate_debug: off - large_distro_name: rhel80-build - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: compile_benchmarks - - name: compile_integration_and_test_parallel_stream_TG - - name: .aggregation - - name: .auth - - name: audit - - name: .benchmarks - - name: .causally_consistent !.wo_snapshot - - name: .change_streams - - name: .misc_js - - name: .concurrency !.ubsan !.no_txns !.kill_terminate - - name: .encrypt - - name: external_auth - - name: external_auth_aws - - name: initial_sync_fuzzer_gen - - name: .jscore .common - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .logical_session_cache - - name: .multi_shard .common - - name: multiversion_gen - - name: .multiversion_fuzzer - - name: .multiversion_passthrough - - name: .query_fuzzer - - name: .random_multiversion_ds - - name: .read_write_concern - - name: replica_sets_large_txns_format_gen - - name: replica_sets_large_txns_format_jscore_passthrough - - name: .replica_sets !.multi_oplog - - name: .resharding_fuzzer - - name: .retry - - name: .read_only - - name: .rollbackfuzzer - - name: .updatefuzzer - - name: sasl - - name: secondary_reads_passthrough_gen - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot - - name: .sharding .common !.csrs - - name: snmp - - name: .watchdog - - name: .serverless - - name: unittest_shell_hang_analyzer_gen - - name: .updatefuzzer - - name: server_discovery_and_monitoring_json_test_TG - - name: server_selection_json_test_TG - -- name: rhel8-debug-ubsan - display_name: ~ UBSAN Enterprise RHEL 8 DEBUG - cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. - run_on: - - rhel80-build - stepback: false - expansions: - additional_package_targets: archive-mongocryptd archive-mongocryptd-debug - lang_environment: LANG=C - # If you add anything to san_options, make sure the appropriate changes are - # also made to SConstruct. - san_options: UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer" - compile_flags: --variables-files=etc/scons/mongodbtoolchain_v3_clang.vars --dbg=on --opt=on --sanitize=undefined --ssl --ocsp-stapling=off -j$(grep -c ^processor /proc/cpuinfo) --use-diagnostic-latches=on - test_flags: --excludeWithAnyTags=requires_ocsp_stapling,requires_increased_memlock_limits - multiversion_platform: rhel80 - multiversion_platform_50_or_later: rhel8 - multiversion_edition: enterprise - resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build. - scons_cache_scope: shared - separate_debug: off - large_distro_name: rhel80-build - tasks: - - name: compile_test_and_package_serial_TG - - name: compile_test_and_package_parallel_unittest_stream_TG - - name: compile_benchmarks - - name: compile_integration_and_test_parallel_stream_TG - - name: .aggregation - - name: .auth - - name: audit - - name: .benchmarks - - name: .causally_consistent !.wo_snapshot - - name: .change_streams - - name: .misc_js - - name: .concurrency !.no_txns !.kill_terminate - - name: disk_wiredtiger - - name: .encrypt - - name: initial_sync_fuzzer_gen - - name: .jscore .common - - name: jsCore_minimum_batch_size - - name: jsCore_txns_large_txns_format - - name: json_schema - - name: .logical_session_cache .one_sec - - name: .multi_shard .common - - name: multiversion_gen - - name: .multiversion_fuzzer - - name: .multiversion_passthrough - - name: .random_multiversion_ds - - name: .read_write_concern - - name: replica_sets_large_txns_format_gen - - name: replica_sets_large_txns_format_jscore_passthrough - - name: .replica_sets !.multi_oplog - - name: .resharding_fuzzer - - name: .retry - - name: .rollbackfuzzer - - name: .read_only - - name: sasl - - name: secondary_reads_passthrough_gen - - name: session_jscore_passthrough - - name: .sharding .jscore !.wo_snapshot - - name: .sharding .common !.csrs - - name: snmp - - name: .updatefuzzer - - name: .serverless - - name: watchdog_wiredtiger - - name: server_discovery_and_monitoring_json_test_TG - - name: server_selection_json_test_TG diff --git a/etc/evergreen_yml_components/variants/task_generation.yml b/etc/evergreen_yml_components/variants/task_generation.yml deleted file mode 100644 index 1f7a0294a28..00000000000 --- a/etc/evergreen_yml_components/variants/task_generation.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Build variant to generate tasks for evergreen versions. -# -# Updates to this file may also need to appear in etc/system_perf_yml_components/variants/task_generation.yml, -# which is the same but excludes resmoke task generation tasks. -# - -buildvariants: -- name: generate-tasks-for-version - display_name: "Generate tasks for evergreen version" - batchtime: 0 - activate: true - run_on: - - rhel80-medium - tasks: - - name: version_gen - distros: - - ubuntu2004-medium - - name: version_burn_in_gen - distros: - - ubuntu2004-medium - - name: version_expansions_gen diff --git a/src/mongo/db/auth/README.md b/src/mongo/db/auth/README.md index 87354dded20..1f2a39b54ef 100644 --- a/src/mongo/db/auth/README.md +++ b/src/mongo/db/auth/README.md @@ -180,7 +180,7 @@ the storage mechanism is listed as a sub-bullet below. authentication. GSSAPI is the communication method used to communicate with Kerberos servers and with clients. When initializing this auth mechanism, the server tries to acquire its credential information from the KDC by calling - [`tryAcquireServerCredential`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/sasl/mongo_gssapi.h#L36). + [`tryAcquireServerCredential`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/sasl/mongo_gssapi.h#L36). If this is not approved, the server fasserts and the mechanism is not registered. On Windows, SChannel provides a `GSSAPI` library for the server to use. On other platforms, the Cyrus SASL library is used to make calls to the KDC (Kerberos key distribution center). @@ -607,30 +607,30 @@ The user must supply roles when running the `createUser` command. Roles are stor LDAP authorization is an external method of getting roles. When a user authenticates using LDAP, there are roles stored in the User document specified by the LDAP system. The LDAP system relies on the -[`AuthzManagerExternalStateLDAP`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.h) +[`AuthzManagerExternalStateLDAP`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.h) to make external requests to the LDAP server. The `AuthzManagerExternalStateLDAP` wraps the `AuthzManagerExternalStateLocal` for the current process, initially attempting to route all Authorization requests to LDAP and falling back on Local Authorization. LDAP queries are generated from -[`UserRequest`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.cpp#L75-L113) +[`UserRequest`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.cpp#L75-L113) objects, passing just the username into the query. If a user has specified the `userToDNMapping` server parameter, the `AuthorizationManager` calls the LDAPManager to transform the usernames into names that the LDAP server can understand. The LDAP subsystem relies on a complicated string escaping sequence, which is handled by the LDAPQuery class. After LDAP has returned the `User` document, it resolves role names into privileges by dispatching a call to -[`Local::getUserObject`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.7.0/src/ldap/authz_manager_external_state_ldap.cpp#L110-L123) +[`Local::getUserObject`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.7.0/src/ldap/authz_manager_external_state_ldap.cpp#L110-L123) with a `UserRequest` struct containing a set of roles to be resolved. Connections to LDAP servers are made by the `LDAPManager` through the -[`LDAPRunner`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/ldap_runner.h) +[`LDAPRunner`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/ldap_runner.h) by calling `bindAsUser()`. `BindAsUser()` attempts to set up a connection to the LDAP server using connection parameters specified through the command line when starting the process.The -[`LDAPConnectionFactory`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/connections/ldap_connection_factory.h) +[`LDAPConnectionFactory`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/connections/ldap_connection_factory.h) is the class that is actually tasked with establishing a connection and sending raw bytes over the wire to the LDAP server, all other classes decompose the information to send and use the factory to actually send the information. The `LDAPConnectionFactory` has its own thread pool and executor to drive throughput for authorization. LDAP has an -[`LDAPUserCacheInvalidator`](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/ldap_user_cache_invalidator_job.h) +[`LDAPUserCacheInvalidator`](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/ldap_user_cache_invalidator_job.h) that periodically sweeps the `AuthorizationManager` and deletes user entries that have `$external` as their authentication database. @@ -638,7 +638,7 @@ There are a few thread safety concerns when making connections to the LDAP serve LibLDAP to make connections to the LDAP server. LibLDAP comes without any thread safety guarantees, so all the calls to libLDAP are wrapped with mutexes to ensure thread safety when connecting to LDAP servers on certain distros. The logic to see whether libLDAP is thread-safe lives -[here](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/connections/openldap_connection.cpp#L348-L378). +[here](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/connections/openldap_connection.cpp#L348-L378). #### X.509 Authorization @@ -717,7 +717,7 @@ Refer to the following links for definitions of the Classes referenced in this d | `AuthorizationManager` | [mongo/db/auth/authorization\_manager.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/auth/authorization_manager.h) | Interface to external state providers | | `AuthorizationSession` | [mongo/db/auth/authorization\_session.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/auth/authorization_session.h) | Representation of currently authenticated and authorized users on the `Client` connection | | `AuthzManagerExternalStateLocal` | [.../authz\_manager\_external\_state\_local.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/auth/authz_manager_external_state_local.h) | `Local` implementation of user/role provider | -| `AuthzManagerExternalStateLDAP` | [.../authz\_manager\_external\_state\_ldap.h](https://github.com/10gen/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.h) | `LDAP` implementation of users/role provider | +| `AuthzManagerExternalStateLDAP` | [.../authz\_manager\_external\_state\_ldap.h](https://github.com/mongodb/mongo-enterprise-modules/blob/r4.4.0/src/ldap/authz_manager_external_state_ldap.h) | `LDAP` implementation of users/role provider | | `Client` | [mongo/db/client.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/client.h) | An active client session, typically representing a remote driver or shell | | `Privilege` | [mongo/db/auth/privilege.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/auth/privilege.h) | A set of `ActionType`s permitted on a particular `resource' | | `ResourcePattern` | [mongo/db/auth/resource\_pattern.h](https://github.com/mongodb/mongo/blob/r4.4.0/src/mongo/db/auth/resource_pattern.h) | A reference to a namespace, db, collection, or cluster to apply a set of `ActionType` privileges to | diff --git a/src/mongo/db/s/README.md b/src/mongo/db/s/README.md index c0a3323ecd2..6f813402039 100644 --- a/src/mongo/db/s/README.md +++ b/src/mongo/db/s/README.md @@ -949,7 +949,7 @@ For retry images saved in the image collection, the source will "downconvert" op `needsRetryImage: true` into two oplog entries, simulating the old format. As chunk migrations use internal commands, [this downconverting procedure](https://github.com/mongodb/mongo/blob/0beb0cacfcaf7b24259207862e1d0d489e1c16f1/src/mongo/db/s/session_catalog_migration_source.cpp#L58-L97) is installed under the hood. For resharding and tenant migrations, a new aggregation stage, -[_internalFindAndModifyImageLookup](https://github.com/10gen/mongo/blob/e27dfa10b994f6deff7c59a122b87771cdfa8aba/src/mongo/db/pipeline/document_source_find_and_modify_image_lookup.cpp#L61), +[_internalFindAndModifyImageLookup](https://github.com/mongodb/mongo/blob/e27dfa10b994f6deff7c59a122b87771cdfa8aba/src/mongo/db/pipeline/document_source_find_and_modify_image_lookup.cpp#L61), was introduced to perform the identical substitution. In order for this stage to have a valid timestamp to assign to the forged no-op oplog entry as result of the "downconvert", we must always assign an extra oplog slot when writing the original retryable findAndModify oplog entry with diff --git a/src/mongo/db/timeseries/flat_bson.cpp b/src/mongo/db/timeseries/flat_bson.cpp index 772d87ecdae..f9a00d92b01 100644 --- a/src/mongo/db/timeseries/flat_bson.cpp +++ b/src/mongo/db/timeseries/flat_bson.cpp @@ -250,7 +250,11 @@ typename FlatBSONStore::Iterator FlatBSONStore:: auto it = begin(); auto itEnd = end(); for (; it != itEnd; ++it) { - (*_pos->_fieldNameToIndex)[it->fieldName().toString()] = it._pos->_offsetParent; + uassert( + 12602100, + "Duplicate field names cannot be present in the same FlatBSON object", + _pos->_fieldNameToIndex->try_emplace(it->fieldName().toString(), it._pos->_offsetParent) + .second); } // Retry the search now when the map is created. @@ -280,7 +284,12 @@ FlatBSONStore::Obj::insert(FlatBSONStore::Iterat // Also store our offset in the fast lookup map if it is available. if (_pos->_fieldNameToIndex) { - _pos->_fieldNameToIndex->emplace(inserted->_element.fieldName(), inserted->_offsetParent); + uassert( + 12602101, + "Duplicate field names cannot be present in the same FlatBSON object", + _pos->_fieldNameToIndex + ->try_emplace(inserted->_element.fieldName().toString(), inserted->_offsetParent) + .second); } // We need to traverse the hiearchy up to the root and modify stored offsets to account for diff --git a/src/mongo/db/timeseries/minmax_test.cpp b/src/mongo/db/timeseries/minmax_test.cpp index 673bed1014f..c95fb37801e 100644 --- a/src/mongo/db/timeseries/minmax_test.cpp +++ b/src/mongo/db/timeseries/minmax_test.cpp @@ -261,6 +261,37 @@ TEST(MinMax, SearchLookupMap) { ASSERT_EQ(obj.search(obj.begin(), "50")->fieldName(), "50"); } +TEST(MinMax, DuplicateFieldNamesWithLookupMap) { + MinMaxStore minmax; + auto obj = minmax.root(); + + // Insert 12 (kMaxLinearSearchLength) distinct fields ("0".."11") followed by two duplicate "a" + // entries. This will trigger the lookup map internally in flat_bson. + for (int i = 0; i < 12; ++i) { + obj.insert(obj.end(), std::to_string(i)); + } + obj.insert(obj.end(), "a"); + obj.insert(obj.end(), "a"); + + // Try to search for "a", this will trigger the lookup map internally in flat_bson as we fail to + // find it within 'kMaxLinearSearchLength' attempts. The map cannot contain duplicates so this + // search is well defined and throws. + ASSERT_THROWS(obj.search(obj.begin(), "a"), AssertionException); + + // Try to insert another duplicate which will throw earlier as the lookup map exists and needs + // to be maintained. + obj.insert(obj.begin(), "x"); + ASSERT_THROWS(obj.insert(obj.begin(), "x"), AssertionException); + + // Searching for "a" or "x" is possible as we inserted one of them into the map. + auto found = obj.search(obj.begin(), "a"); + ASSERT(found != obj.end()); + ASSERT_EQ(found->fieldName(), "a"); + + found = obj.search(obj.begin(), "x"); + ASSERT(found != obj.end()); + ASSERT_EQ(found->fieldName(), "x"); +} } // namespace } // namespace mongo::timeseries