Bug 1325398 - Make the check for duplicate Treeherder symbols, happen during `full` graph not `target` graph stage. r=dustin draft
authorJustin Wood <Callek@gmail.com>
Thu, 22 Dec 2016 11:45:10 -0500
changeset 454255 49a6375df512bc90252c7e165bbe0a06c6500307
parent 454082 dccfc624915b1bebe7975076e9b42bd46684cbc6
child 540667 6a1721ce4013bb7e2acc0c0029012674897dfab3
push id39885
push userCallek@gmail.com
push dateWed, 28 Dec 2016 20:11:41 +0000
reviewersdustin
bugs1325398
milestone53.0a1
Bug 1325398 - Make the check for duplicate Treeherder symbols, happen during `full` graph not `target` graph stage. r=dustin MozReview-Commit-ID: GfwAgERKdsL
taskcluster/taskgraph/generator.py
--- a/taskcluster/taskgraph/generator.py
+++ b/taskcluster/taskgraph/generator.py
@@ -191,16 +191,17 @@ class TaskGraphGenerator(object):
         logger.info("Generating full task graph")
         edges = set()
         for t in full_task_set:
             for dep, depname in t.get_dependencies(full_task_set):
                 edges.add((t.label, dep, depname))
 
         full_task_graph = TaskGraph(all_tasks,
                                     Graph(full_task_set.graph.nodes, edges))
+        full_task_graph.for_each_task(verify_task_graph_symbol, scratch_pad={})
         logger.info("Full task graph contains %d tasks and %d dependencies" % (
             len(full_task_set.graph.nodes), len(edges)))
         yield 'full_task_graph', full_task_graph
 
         logger.info("Generating target task set")
         target_task_set = TaskGraph(dict(all_tasks),
                                     Graph(set(all_tasks.keys()), set()))
         for fltr in self.filters:
@@ -216,17 +217,16 @@ class TaskGraphGenerator(object):
 
         yield 'target_task_set', target_task_set
 
         logger.info("Generating target task graph")
         target_graph = full_task_graph.graph.transitive_closure(target_tasks)
         target_task_graph = TaskGraph(
             {l: all_tasks[l] for l in target_graph.nodes},
             target_graph)
-        target_task_graph.for_each_task(verify_task_graph_symbol, scratch_pad={})
         target_task_graph.for_each_task(verify_gecko_v2_routes, scratch_pad={})
         yield 'target_task_graph', target_task_graph
 
         logger.info("Generating optimized task graph")
         do_not_optimize = set()
 
         if not self.parameters.get('optimize_target_tasks', True):
             do_not_optimize = target_task_set.graph.nodes