Bug 1456246 - taskgraph: Perform release promotion needs on mozilla-esr60 on-push. (No Android). r=rail draft
authorJustin Wood <Callek@gmail.com>
Mon, 23 Apr 2018 15:39:33 -0400
changeset 786723 db212900f7ea4e19f29a543f7cacb5e2dcc201fe
parent 786478 dfb15917c057f17e5143f7d7c6e1972ba53efc49
push id107561
push userCallek@gmail.com
push dateMon, 23 Apr 2018 19:40:05 +0000
reviewersrail
bugs1456246
milestone61.0a1
Bug 1456246 - taskgraph: Perform release promotion needs on mozilla-esr60 on-push. (No Android). r=rail MozReview-Commit-ID: BFpSAz3oj3F
taskcluster/taskgraph/decision.py
taskcluster/taskgraph/target_tasks.py
--- a/taskcluster/taskgraph/decision.py
+++ b/taskcluster/taskgraph/decision.py
@@ -69,16 +69,22 @@ PER_PROJECT_PARAMETERS = {
     },
 
     'mozilla-release': {
         'target_tasks_method': 'mozilla_release_tasks',
         'optimize_target_tasks': True,
         'include_nightly': True,
     },
 
+    'mozilla-esr60': {
+        'target_tasks_method': 'mozilla_esr60_tasks',
+        'optimize_target_tasks': True,
+        'include_nightly': True,
+    },
+
     'pine': {
         'target_tasks_method': 'pine_tasks',
         'optimize_target_tasks': True,
         'include_nightly': False,
     },
 
     # the default parameters are used for projects that do not match above.
     'default': {
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -270,16 +270,38 @@ def target_tasks_mozilla_release(full_ta
     """Select the set of tasks required for a promotable beta or release build
     of desktop, plus android CI. The candidates build process involves a pipeline
     of builds and signing, but does not include beetmover or balrog jobs."""
 
     return [l for l, t in full_task_graph.tasks.iteritems() if
             filter_beta_release_tasks(t, parameters)]
 
 
+@_target_task('mozilla_esr60_tasks')
+def target_tasks_mozilla_esr60(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required for a promotable beta or release build
+    of desktop, plus android CI. The candidates build process involves a pipeline
+    of builds and signing, but does not include beetmover or balrog jobs."""
+
+    def filter(task):
+        platform = task.attributes.get('build_platform')
+
+        # Android is not built on esr.
+        if platform and 'android' in platform:
+            return False
+
+        # All else was already filtered
+        return True
+
+    tasks = [l for l, t in full_task_graph.tasks.iteritems() if
+             filter_beta_release_tasks(t, parameters)]
+
+    return [l for l, t in tasks.iteritems() if filter(t)]
+
+
 @_target_task('promote_firefox')
 def target_tasks_promote_firefox(full_task_graph, parameters, graph_config):
     """Select the superset of tasks required to promote a beta or release build
     of firefox. This should include all non-android mozilla_{beta,release} tasks,
     plus l10n, beetmover, balrog, etc."""
 
     beta_release_tasks = [l for l, t in full_task_graph.tasks.iteritems() if
                           filter_beta_release_tasks(t, parameters,