summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorLydia Stepanek <lydia.stepanek@mongodb.com>2020-02-04 10:13:27 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-04 15:37:03 +0000
commitbfa494770a7bffa262ae78bbff4804faef3531c2 (patch)
tree2470dd4a1d1cba944a9a3998271c3b4424ac79a0 /etc
parent5b2439ae898613277d8f43ee61542e1c13ac9ca6 (diff)
downloadmongo-bfa494770a7bffa262ae78bbff4804faef3531c2.tar.gz
SERVER-45394 Generate selected tasks in a patch using test mappings
create mode 100644 buildscripts/patch_builds/selected_tests_service.py create mode 100644 buildscripts/selected_tests.py create mode 100644 buildscripts/tests/patch_builds/test_selected_tests_service.py create mode 100644 buildscripts/tests/test_selected_tests.py
Diffstat (limited to 'etc')
-rw-r--r--etc/evergreen.yml91
1 files changed, 91 insertions, 0 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 944464f39cd..5ad30de90e2 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -478,6 +478,21 @@ functions:
user: "${evergreen_api_user}"
END_OF_CREDS
+ "configure selected tests credentials": &configure_selected_tests_credentials
+ command: shell.exec
+ type: test
+ params:
+ working_dir: src
+ silent: true
+ script: |
+ # Create the Evergreen API credentials
+ cat > .selected_tests.yml <<END_OF_CREDS
+ url: "https://selected-tests.server-tig.prod.corp.mongodb.com"
+ project: "${project}"
+ auth_user: "${selected_tests_auth_user}"
+ auth_token: "${selected_tests_auth_token}"
+ END_OF_CREDS
+
"git get project": &git_get_project
command: git.get_project
params:
@@ -1485,6 +1500,60 @@ functions:
cd $target_dir
tar xzf generate_tasks_config.tgz
+ "generate selected tests":
+ - command: expansions.write
+ params:
+ file: src/expansions.yml
+ - *configure_evergreen_api_credentials
+ - *configure_selected_tests_credentials
+ - command: shell.exec
+ type: test
+ params:
+ working_dir: src
+ shell: bash
+ script: |
+ set -o errexit
+ set -o verbose
+
+ # Only run on master branch
+ if [[ "${project}" != "mongodb-mongo-master" ]]; then
+
+ if [ "${is_patch}" = "true" ]; then
+ echo "Not on master, skipping selected_tests_gen task"
+ exit 1
+ else
+ exit 0
+ fi
+
+ else
+
+ ${activate_virtualenv}
+ PATH=$PATH:$HOME $python buildscripts/selected_tests.py --expansion-file expansions.yml --verbose --build-variant=enterprise-rhel-62-64-bit --selected-tests-config .selected_tests.yml
+
+ fi
+ - command: archive.targz_pack
+ params:
+ target: generate_tasks_config.tgz
+ source_dir: src/generated_resmoke_config
+ include:
+ - "*"
+ - command: s3.put
+ params:
+ aws_key: ${aws_key}
+ aws_secret: ${aws_secret}
+ local_file: generate_tasks_config.tgz
+ remote_file: ${project}/${build_variant}/${revision}/generate_tasks/${task_name}-${build_id}.tgz
+ bucket: mciuploads
+ permissions: public-read
+ content_type: ${content_type|application/gzip}
+ display_name: Generated Task Config - Execution ${execution}
+ optional: true
+ - command: generate.tasks
+ params:
+ optional: true
+ files:
+ - src/generated_resmoke_config/*.json
+
"generate burn in tags":
- command: expansions.write
params:
@@ -5413,6 +5482,17 @@ tasks:
repeat_tests_min: 2
repeat_tests_max: 1000
+- name: selected_tests_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: "upload pip requirements"
+ - func: "generate selected tests"
+
- name: auth_audit_gen
tags: ["auth", "audit"]
commands:
@@ -11944,6 +12024,17 @@ buildvariants:
tasks:
- name: win_shared_scons_cache_pruning
+- name: selected-tests
+ display_name: "~ Selected Tests"
+ modules:
+ - enterprise
+ run_on:
+ - rhel62-small
+ batchtime: 10080 # 7 days
+ stepback: false
+ tasks:
+ - name: selected_tests_gen
+
- name: commit-queue
display_name: "~ Commit Queue"
modules: