Bug 1385151 - Fix assumption of task_id in add-new-tasks r=dustin
☠☠ backed out by c0e98ba118f1 ☠ ☠
authorBrian Stack <bstack@mozilla.com>
Thu, 27 Jul 2017 18:55:01 -0700
changeset 420387 bec038e5f354f4194db9c2d66f859104cd3df875
parent 420386 bb231507aab86fa5e5b32d3275236937c20ce1a2
child 420388 c2c67f39a75e6af8db6a58ba3718aae83b16e9d4
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]