Bug 1379171 - Add an add-all-talos action r=dustin

MozReview-Commit-ID: GdLagQfUjeJ

--HG--
extra : rebase_source : 9d6cab8c84d9fd60e79ade3e86cb060b84667a76
This commit is contained in:
Brian Stack 2017-08-14 11:15:32 -07:00
Родитель e89d06f1c7
Коммит 443ea3ff58
1 изменённых файлов: 39 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import absolute_import, print_function, unicode_literals
import logging
from .registry import register_callback_action
from .util import create_tasks, find_decision_task
from taskgraph.util.taskcluster import get_artifact
from taskgraph.taskgraph import TaskGraph
logger = logging.getLogger(__name__)
@register_callback_action(
name='run-all-talos',
title='Run All Talos Tests',
symbol='raT',
description="Add all Talos tasks to a push.",
order=100, # Useful for sheriffs, but not top of the list
context=[],
)
def add_all_talos(parameters, input, task_group_id, task_id, task):
decision_task_id = find_decision_task(parameters)
full_task_graph = get_artifact(decision_task_id, "public/full-task-graph.json")
_, full_task_graph = TaskGraph.from_json(full_task_graph)
label_to_taskid = get_artifact(decision_task_id, "public/label-to-taskid.json")
to_run = [label
for label, entry
in full_task_graph.tasks.iteritems() if 'talos_try_name' in entry.attributes]
create_tasks(to_run, full_task_graph, label_to_taskid, parameters, decision_task_id)
logger.info('Scheduled {} talos tasks'.format(len(to_run)))