summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorLydia Stepanek <lydia.stepanek@mongodb.com>2019-06-04 13:33:53 -0400
committerLydia Stepanek <lydia.stepanek@mongodb.com>2019-06-04 13:33:53 -0400
commitff945d4698dfcc61236537d7a5912ddd1abd9695 (patch)
tree285db1def8073ed461ac313e31df5a1ffef4465e /etc
parentf75aa0003333eefd1e1c56039bd1d44c44fb3620 (diff)
downloadmongo-ff945d4698dfcc61236537d7a5912ddd1abd9695.tar.gz
SERVER-40895 Dynamically generate burn_in_tests for tag validation
Diffstat (limited to 'etc')
-rw-r--r--etc/evergreen.yml128
-rw-r--r--etc/pip/components/resmoke.req2
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