summaryrefslogtreecommitdiff
path: root/buildscripts/evergreen_activate_gen_tasks.py
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-14 14:26:38 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-14 14:26:38 -0300
commit294bc6ecabf14c09c9bc8644704921dcf97cb44e (patch)
tree279b1e0bab53901a1647ac63c1c724f0f789a663 /buildscripts/evergreen_activate_gen_tasks.py
parent70be7c27a251621187a1de533462ae2bb1e3bd39 (diff)
parent1e917fd798aa25b7066d4b414b51184f13d5a092 (diff)
Update upstream source from tag 'upstream/6.0.10'debian/6.0.10-1
Update to upstream version '6.0.10' with Debian dir 2d176fa254eee97b139f712fec5709641335a8c3
Diffstat (limited to 'buildscripts/evergreen_activate_gen_tasks.py')
-rwxr-xr-xbuildscripts/evergreen_activate_gen_tasks.py52
1 files changed, 29 insertions, 23 deletions
diff --git a/buildscripts/evergreen_activate_gen_tasks.py b/buildscripts/evergreen_activate_gen_tasks.py
index 13eed325701..1ccd95642c5 100755
--- a/buildscripts/evergreen_activate_gen_tasks.py
+++ b/buildscripts/evergreen_activate_gen_tasks.py
@@ -21,6 +21,9 @@ from buildscripts.util.taskname import remove_gen_suffix
LOGGER = structlog.getLogger(__name__)
EVG_CONFIG_FILE = "./.evergreen.yml"
+BURN_IN_TAGS = "burn_in_tags"
+BURN_IN_TESTS = "burn_in_tests"
+BURN_IN_VARIANT_SUFFIX = "generated-by-burn-in-tags"
class EvgExpansions(BaseModel):
@@ -28,10 +31,12 @@ class EvgExpansions(BaseModel):
Evergreen expansions file contents.
build_id: ID of build being run.
+ version_id: ID of version being run.
task_name: Name of task creating the generated configuration.
"""
build_id: str
+ version_id: str
task_name: str
@classmethod
@@ -45,7 +50,7 @@ class EvgExpansions(BaseModel):
return remove_gen_suffix(self.task_name)
-def activate_task(build_id: str, task_name: str, evg_api: EvergreenApi) -> None:
+def activate_task(expansions: EvgExpansions, evg_api: EvergreenApi) -> None:
"""
Activate the given task in the specified build.
@@ -53,27 +58,28 @@ def activate_task(build_id: str, task_name: str, evg_api: EvergreenApi) -> None:
:param task_name: Name of task to activate.
:param evg_api: Evergreen API client.
"""
- build = evg_api.build_by_id(build_id)
- task_list = build.get_tasks()
- for task in task_list:
- if task.display_name == task_name:
- LOGGER.info("Activating task", task_id=task.task_id, task_name=task.display_name)
- evg_api.configure_task(task.task_id, activated=True)
-
- # if any(ARCHIVE_DIST_TEST_TASK in dependency["id"] for dependency in task.depends_on):
- # _activate_archive_debug_symbols(evg_api, task_list)
-
-
-# def _activate_archive_debug_symbols(evg_api: EvergreenApi, task_list):
-# debug_iter = filter(lambda tsk: tsk.display_name == ACTIVATE_ARCHIVE_DIST_TEST_DEBUG_TASK,
-# task_list)
-# activate_symbol_tasks = list(debug_iter)
-#
-# if len(activate_symbol_tasks) == 1:
-# activated_symbol_task = activate_symbol_tasks[0]
-# if not activated_symbol_task.activated:
-# LOGGER.info("Activating debug symbols archival", task_id=activated_symbol_task.task_id)
-# evg_api.configure_task(activated_symbol_task.task_id, activated=True)
+ if expansions.task == BURN_IN_TAGS:
+ version = evg_api.version_by_id(expansions.version_id)
+ burn_in_build_variants = [
+ variant for variant in version.build_variants_map.keys()
+ if variant.endswith(BURN_IN_VARIANT_SUFFIX)
+ ]
+ for build_variant in burn_in_build_variants:
+ build_id = version.build_variants_map[build_variant]
+ task_list = evg_api.tasks_by_build(build_id)
+
+ for task in task_list:
+ if task.display_name == BURN_IN_TESTS:
+ LOGGER.info("Activating task", task_id=task.task_id,
+ task_name=task.display_name)
+ evg_api.configure_task(task.task_id, activated=True)
+
+ else:
+ task_list = evg_api.tasks_by_build(expansions.build_id)
+ for task in task_list:
+ if task.display_name == expansions.task:
+ LOGGER.info("Activating task", task_id=task.task_id, task_name=task.display_name)
+ evg_api.configure_task(task.task_id, activated=True)
@click.command()
@@ -96,7 +102,7 @@ def main(expansion_file: str, evergreen_config: str, verbose: bool) -> None:
expansions = EvgExpansions.from_yaml_file(expansion_file)
evg_api = RetryingEvergreenApi.get_api(config_file=evergreen_config)
- activate_task(expansions.build_id, expansions.task, evg_api)
+ activate_task(expansions, evg_api)
if __name__ == "__main__":