Bug 1385151 - Fix assumption of task_id in add-new-tasks r=dustin
authorBrian Stack <bstack@mozilla.com>
Thu, 27 Jul 2017 18:55:01 -0700
changeset 420556 18c4500d17f74759beeb0e90573d2818dee66345
parent 420555 4ad66eac9af277ab49656e64d3065913656f3c68
child 420557 159e20b9dd04c941f3e48f6c90586bebb94c7a08
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1385151
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1385151 - Fix assumption of task_id in add-new-tasks r=dustin MozReview-Commit-ID: G8Jji0Tarvi
taskcluster/taskgraph/actions/add-new-jobs.py
--- a/taskcluster/taskgraph/actions/add-new-jobs.py
+++ b/taskcluster/taskgraph/actions/add-new-jobs.py
@@ -4,17 +4,17 @@
 # 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
 
 from .registry import register_callback_action
 from slugid import nice as slugid
 
-from .util import create_task
+from .util import (create_task, find_decision_task)
 from taskgraph.util.taskcluster import get_artifact
 from taskgraph.util.parameterization import resolve_task_references
 from taskgraph.taskgraph import TaskGraph
 
 
 @register_callback_action(
     name='add-new-jobs',
     title='Add new jobs',
@@ -31,19 +31,21 @@ from taskgraph.taskgraph import TaskGrap
                 'items': {
                     'type': 'string'
                 }
             }
         }
     }
 )
 def add_new_jobs_action(parameters, input, task_group_id, task_id, task):
-    full_task_graph = get_artifact(task_id, "public/full-task-graph.json")
+    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(task_id, "public/label-to-taskid.json")
+    label_to_taskid = get_artifact(decision_task_id, "public/label-to-taskid.json")
 
     for elem in input['tasks']:
         if elem in full_task_graph.tasks:
             task = full_task_graph.tasks[elem]
 
             # fix up the task's dependencies, similar to how optimization would
             # have done in the decision
             dependencies = {name: label_to_taskid[label]