Bug 1318099 - Disable artifact build tasks on the graphics branch. r=dustin
authorKartikaya Gupta <kgupta@mozilla.com>
Wed, 16 Nov 2016 15:40:55 -0500
changeset 323044 0b955dfca1512ace622861b27859b23a58398234
parent 323043 1156c54cdb683afc1d54d8f603302e0298dcb7bd
child 323045 f76168493c67243ef23db29b342866549e9d6efb
push id34382
push userkgupta@mozilla.com
push dateThu, 17 Nov 2016 22:59:11 +0000
treeherderautoland@0b955dfca151 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1318099
milestone53.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 1318099 - Disable artifact build tasks on the graphics branch. r=dustin MozReview-Commit-ID: 2whpCUpZTtv
taskcluster/taskgraph/decision.py
taskcluster/taskgraph/target_tasks.py
--- a/taskcluster/taskgraph/decision.py
+++ b/taskcluster/taskgraph/decision.py
@@ -46,16 +46,21 @@ PER_PROJECT_PARAMETERS = {
         'optimize_target_tasks': True,
     },
 
     'cedar': {
         'target_tasks_method': 'cedar_tasks',
         'optimize_target_tasks': True,
     },
 
+    'graphics': {
+        'target_tasks_method': 'graphics_tasks',
+        'optimize_target_tasks': True,
+    },
+
     # the default parameters are used for projects that do not match above.
     'default': {
         'target_tasks_method': 'default',
         'optimize_target_tasks': True,
     }
 }
 
 
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -115,16 +115,30 @@ def target_tasks_cedar(full_task_graph, 
         if task.attributes.get('unittest_suite'):
             if not (task.attributes['unittest_suite'].startswith('mochitest')
                     or 'xpcshell' in task.attributes['unittest_suite']):
                 return False
         return True
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
 
 
+@_target_task('graphics_tasks')
+def target_tasks_graphics(full_task_graph, parameters):
+    """In addition to doing the filtering by project that the 'default'
+       filter does, also remove artifact builds because we have csets on
+       the graphics branch that aren't on the candidate branches of artifact
+       builds"""
+    filtered_for_project = target_tasks_default(full_task_graph, parameters)
+    def filter(task):
+        if task.attributes['kind'] == 'artifact-build':
+            return False
+        return True
+    return [l for l in filtered_for_project if filter(full_task_graph[l])]
+
+
 @_target_task('nightly_fennec')
 def target_tasks_nightly(full_task_graph, parameters):
     """Select the set of tasks required for a nightly build of fennec. The
     nightly build process involves a pipeline of builds, signing,
     and, eventually, uploading the tasks to balrog."""
     def filter(task):
         return task.attributes.get('nightly', False)
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]