Bug 1456246 - taskgraph: Perform release promotion needs on mozilla-esr60 on-push. (No Android). r=rail
MozReview-Commit-ID: BFpSAz3oj3F
--- 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,