Bug 1385151 - Fix assumption of task_id in add-new-tasks draft
authorBrian Stack <bstack@mozilla.com>
Thu, 27 Jul 2017 18:55:01 -0700
changeset 617156 eccdd37590f904017d667a9c06218bc9765fc20d
parent 617155 7f4761e4a013e38b5a304eaae4c9708add2d6f5e
child 617174 92b4d95dc535abad26ba25d18e1047fd85aae80a
push id70952
push userbstack@mozilla.com
push dateFri, 28 Jul 2017 01:55:20 +0000
bugs1385151
milestone56.0a1
Bug 1385151 - Fix assumption of task_id in add-new-tasks 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]