summaryrefslogtreecommitdiff
path: root/buildscripts/burn_in_tags.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/burn_in_tags.py')
-rw-r--r--buildscripts/burn_in_tags.py33
1 files changed, 20 insertions, 13 deletions
diff --git a/buildscripts/burn_in_tags.py b/buildscripts/burn_in_tags.py
index 9b595ecd624..c1d5bd0d6b2 100644
--- a/buildscripts/burn_in_tags.py
+++ b/buildscripts/burn_in_tags.py
@@ -76,22 +76,28 @@ def _create_evg_buildvariant_map(expansions_file_data):
:param expansions_file_data: Config data file to use.
:return: Map of base buildvariants to their generated buildvariants.
"""
- buildvariant_map = {}
- base_variants = expansions_file_data["base_variants"].split(
- " ") if expansions_file_data["base_variants"] else []
- for base_variant in base_variants:
- new_variant_name = f"{base_variant}-required"
- buildvariant_map[base_variant] = new_variant_name
- return buildvariant_map
-
-
-def _generate_evg_buildvariant(shrub_config, buildvariant, run_buildvariant):
+ burn_in_tags_gen_variant = expansions_file_data["build_variant"]
+ evergreen_conf = evergreen.parse_evergreen_file(EVERGREEN_FILE)
+ burn_in_tags_gen_variant_config = evergreen_conf.get_variant(burn_in_tags_gen_variant)
+ burn_in_tag_buildvariants = burn_in_tags_gen_variant_config.expansions.get(
+ "burn_in_tag_buildvariants")
+ if burn_in_tag_buildvariants:
+ return {
+ base_variant: f"{base_variant}-required"
+ for base_variant in burn_in_tag_buildvariants.split(" ")
+ }
+ return {}
+
+
+def _generate_evg_buildvariant(shrub_config, buildvariant, run_buildvariant,
+ burn_in_tags_gen_variant):
"""
Generate buildvariants for a given shrub config.
:param shrub_config: Shrub config object that the generated buildvariant will be built upon.
:param buildvariant: The base variant that the generated run_buildvariant will be based on.
:param run_buildvariant: The generated buildvariant.
+ :param burn_in_tags_gen_variant: The buildvariant on which the burn_in_tags_gen task runs.
"""
evergreen_conf = evergreen.parse_evergreen_file(EVERGREEN_FILE)
base_variant_config = evergreen_conf.get_variant(buildvariant)
@@ -100,9 +106,9 @@ def _generate_evg_buildvariant(shrub_config, buildvariant, run_buildvariant):
new_variant_run_on = base_variant_config.run_on[0]
task_spec = TaskSpec("compile_TG")
- task_spec.distro("rhel62-large")
- new_variant = shrub_config.variant(run_buildvariant)
+ new_variant = shrub_config.variant(run_buildvariant).expansion("burn_in_bypass",
+ burn_in_tags_gen_variant)
new_variant.display_name(new_variant_display_name)
new_variant.run_on(new_variant_run_on)
new_variant.task(task_spec)
@@ -127,7 +133,8 @@ def _generate_evg_tasks(evergreen_api, shrub_config, expansions_file_data, build
config_options = _get_config_options(expansions_file_data, buildvariant, run_buildvariant)
tests_by_task = create_tests_by_task(config_options, evergreen_api)
if tests_by_task:
- _generate_evg_buildvariant(shrub_config, buildvariant, run_buildvariant)
+ _generate_evg_buildvariant(shrub_config, buildvariant, run_buildvariant,
+ expansions_file_data["build_variant"])
create_generate_tasks_config(evergreen_api, shrub_config, config_options, tests_by_task,
False)