Bug 1351010 - Completely fixed; r?dustin draft
authorAyodeji Oyewole <ayodeji.oyewole@gmail.com>
Sat, 01 Apr 2017 15:59:36 -0400
changeset 554712 6079dedf6ff117bcc8513ef552d5ff2afb4bce4e
parent 552852 b256f2037c45e18d4ed34f3ba44269a777dd1d7b
child 622418 403177241a45c693bea2b1dc337da009f0ab48be
push id52028
push userbmo:ayodeji.oyewole@gmail.com
push dateSat, 01 Apr 2017 20:00:01 +0000
reviewersdustin
bugs1351010
milestone55.0a1
Bug 1351010 - Completely fixed; r?dustin MozReview-Commit-ID: HKoWcINVSnV
taskcluster/taskgraph/optimize.py
--- a/taskcluster/taskgraph/optimize.py
+++ b/taskcluster/taskgraph/optimize.py
@@ -71,21 +71,21 @@ def resolve_task_references(label, task_
 def optimize_task(task, params):
     """
     Optimize a single task by running its optimizations in order until one
     succeeds.
     """
     for opt in task.optimizations:
         opt_type, args = opt[0], opt[1:]
         opt_fn = _optimizations[opt_type]
-        optimized, task_id = opt_fn(task, params, *args)
-        if optimized or task_id:
-            return optimized, task_id
+        opt_result = opt_fn(task, params, *args)
+        if opt_result:
+            return opt_result
 
-    return False, None
+    return False
 
 
 def annotate_task_graph(target_task_graph, params, do_not_optimize,
                         named_links_dict, label_to_taskid, existing_tasks):
     """
     Annotate each task in the graph with .optimized (boolean) and .task_id
     (possibly None), following the rules for optimization and calling the task
     kinds' `optimize_task` method.
@@ -113,17 +113,25 @@ def annotate_task_graph(target_task_grap
         if label in do_not_optimize:
             optimized = False
         # Let's check whether this task has been created before
         elif existing_tasks is not None and label in existing_tasks:
             optimized = True
             replacement_task_id = existing_tasks[label]
         # otherwise, examine the task itself (which may be an expensive operation)
         else:
-            optimized, replacement_task_id = optimize_task(task, params)
+            opt_result = optimize_task(task, params)
+
+            # use opt_result to determine values for optimized, replacement_task_id
+            optimized = True
+            replacement_task_id = None
+            if opt_result is False:
+                optimized = False
+            elif opt_result is not True:
+                replacement_task_id = opt_result
 
         task.optimized = optimized
         task.task_id = replacement_task_id
         if replacement_task_id:
             label_to_taskid[label] = replacement_task_id
 
         if optimized:
             if replacement_task_id: