diff options
author | Lydia Stepanek <lydia.stepanek@mongodb.com> | 2019-06-04 13:33:53 -0400 |
---|---|---|
committer | Lydia Stepanek <lydia.stepanek@mongodb.com> | 2019-06-04 13:33:53 -0400 |
commit | ff945d4698dfcc61236537d7a5912ddd1abd9695 (patch) | |
tree | 285db1def8073ed461ac313e31df5a1ffef4465e /etc | |
parent | f75aa0003333eefd1e1c56039bd1d44c44fb3620 (diff) | |
download | mongo-ff945d4698dfcc61236537d7a5912ddd1abd9695.tar.gz |
SERVER-40895 Dynamically generate burn_in_tests for tag validation
Diffstat (limited to 'etc')
-rw-r--r-- | etc/evergreen.yml | 128 | ||||
-rw-r--r-- | etc/pip/components/resmoke.req | 2 |
2 files changed, 52 insertions, 78 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 3b48584e5d6..01138e999c1 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -1424,6 +1424,40 @@ functions: cd $target_dir tar xzf generate_tasks_config.tgz + "generate burn in tags": + - command: expansions.write + params: + file: expansions.yml + - command: shell.exec + params: + working_dir: src + shell: bash + script: | + set -o errexit + set -o verbose + ${activate_virtualenv} + PATH=$PATH:$HOME $python buildscripts/burn_in_tags.py --expansion-file ../expansions.yml + - command: archive.targz_pack + params: + target: burn_in_tags_gen.tgz + source_dir: src/generated_burn_in_tags_config + include: + - "*" + - command: s3.put + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + local_file: burn_in_tags_gen.tgz + remote_file: ${project}/${build_variant}/${revision}/burn_in_tags_gen/burn_in_tags_gen-${build_id}.tgz + bucket: mciuploads + permissions: public-read + content_type: ${content_type|application/gzip} + display_name: Burn_in_tags Task Config - Execution ${execution} + - command: generate.tasks + params: + files: + - src/generated_burn_in_tags_config/burn_in_tags_gen.json + "generate resmoke tasks": - command: manifest.load - *git_get_project @@ -5556,6 +5590,22 @@ tasks: resmoke_args: --storageEngine=wiredTiger fallback_num_sub_suites: 4 +- name: burn_in_tags_gen + commands: + - command: manifest.load + - func: "git get project" + - func: "set task expansion macros" + - func: "set up virtualenv" + vars: + pip_dir: ${workdir}/src/etc/pip + - func: "generate burn in tags" + vars: + max_revisions: 25 + repeat_tests_secs: 600 + repeat_tests_min: 2 + repeat_tests_max: 1000 + base_variants: enterprise-rhel-62-64-bit-majority-read-concern-off enterprise-rhel-62-64-bit-inmem linux-64-duroff + - name: auth_audit_gen tags: ["auth", "audit"] commands: @@ -8172,25 +8222,6 @@ buildvariants: - name: .jstestfuzz .common !.repl - name: sharding_jscore_passthrough -- name: linux-64-required-duroff - display_name: "! Linux (No Journal)" - run_on: - - rhel62-small - expansions: - <<: *linux-64-required-duroff-expansions - burn_in_tests_build_variant: linux-64-duroff - tasks: - # This build variants exists specifically to test that newly added or modified JavaScript tests - # are correctly tagged with "requires_journaling" prior to the changes being pushed. It uses the - # task list from the linux-64-duroff build variant to determine the resmoke.py YAML suite - # configurations to run the tests under. Do not add more tasks to this list. - - name: compile_TG - requires: - - name: burn_in_tests_gen - distros: - - rhel62-large - - name: burn_in_tests_gen - - name: linux-64-lsm stepback: false display_name: Linux LSM @@ -10006,6 +10037,7 @@ buildvariants: - name: .aggregation - name: audit - name: .auth + - name: burn_in_tags_gen - name: .benchmarks distros: - centos6-perf @@ -10331,29 +10363,6 @@ buildvariants: - name: snmp - name: .updatefuzzer -- name: enterprise-rhel-62-64-bit-required-majority-read-concern-off - display_name: "! Enterprise RHEL 6.2 (majority read concern off)" - modules: - - enterprise - run_on: - - rhel62-small - expansions: - <<: *enterprise-rhel-62-64-bit-majority-read-concern-off-expansions - burn_in_tests_build_variant: enterprise-rhel-62-64-bit-majority-read-concern-off - tasks: - # This build variants exists specifically to test that newly added or modified JavaScript tests - # are correctly tagged with "requires_majority_read_concern", "uses_change_streams", - # "uses_prepare_transaction", and "uses_multi_shard_transaction" prior to the changes being - # pushed. It uses the task list from the enterprise-rhel-62-64-bit-majority-read-concern-off - # build variant to determine the resmoke.py YAML suite configurations to run the tests under. Do - # not add more tasks to this list. - - name: compile_TG - requires: - - name: burn_in_tests_gen - distros: - - rhel62-large - - name: burn_in_tests_gen - - name: enterprise-rhel-62-64-bit-coverage display_name: "~ Enterprise RHEL 6.2 DEBUG Code Coverage" modules: @@ -11489,41 +11498,6 @@ buildvariants: - name: .ssl - name: .updatefuzzer -- name: enterprise-rhel-62-64-bit-required-inmem - display_name: "! Enterprise RHEL 6.2 (inMemory)" - modules: - - enterprise - run_on: - - rhel62-small - expansions: - <<: *enterprise-rhel-62-64-bit-inmem-expansions - burn_in_tests_build_variant: enterprise-rhel-62-64-bit-inmem - display_tasks: - - *dbtest - tasks: - # This build variant exists specifically to test that newly added or modified JavaScript tests - # properly tag non-persistent storage tests using "requires_persistence", "requires_journaling" or - # "uses_transactions". - # - # It uses the task list from the enterprise-rhel-62-64-bit-inmem build variant to - # determine the resmoke.py YAML suite configurations to run the tests under. Do not add more tasks - # to this list. - # - # It also runs dbtest, since at least one time we have broken the - # connection bewteen the in-mem storage engine and the dbtest, but - # didn't notice since no other required builders tested that - # combination. - - name: dbtest_TG - distros: - - rhel62-large - - name: compile_TG - requires: - - name: burn_in_tests_gen - distros: - - rhel62-large - - name: burn_in_tests_gen - - name: jsCore - - name: rhel-62-64-bit-mobile display_name: RHEL 6.2 (mobile) run_on: diff --git a/etc/pip/components/resmoke.req b/etc/pip/components/resmoke.req index 82fe36c4436..9c520259cc5 100644 --- a/etc/pip/components/resmoke.req +++ b/etc/pip/components/resmoke.req @@ -2,4 +2,4 @@ PyKMIP == 0.4.0 # It's now 0.8.0. We're far enough back to have API conflicts. evergreen.py == 0.1.14 jinja2 mock -shrub.py == 0.2.0 +shrub.py == 0.2.3 |