Bug 1456246 - taskgraph: Perform release promotion needs on mozilla-esr60 on-push. (No Android). r=rail a=release
authorJustin Wood <Callek@gmail.com>
Mon, 23 Apr 2018 15:39:33 -0400
changeset 463476 97f050e4c9da14fb0166bc71a5742dd255ca2a69
parent 463475 de786672a738e38f3ab30160b97690947f604f0a
child 463477 46a0d50672cea5246c8244ba68c114e62786850e
push id1683
push usersfraser@mozilla.com
push dateThu, 26 Apr 2018 16:43:40 +0000
treeherdermozilla-release@5af6cb21869d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrail, release
bugs1456246
milestone60.0
Bug 1456246 - taskgraph: Perform release promotion needs on mozilla-esr60 on-push. (No Android). r=rail a=release 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
@@ -295,16 +295,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,