bug 1340609 - promotable beta linux builds on push. r?dustin a=release
MozReview-Commit-ID: JAqifpgD3vW
--- a/taskcluster/taskgraph/decision.py
+++ b/taskcluster/taskgraph/decision.py
@@ -51,16 +51,25 @@ PER_PROJECT_PARAMETERS = {
'optimize_target_tasks': True,
},
'graphics': {
'target_tasks_method': 'graphics_tasks',
'optimize_target_tasks': True,
},
+ 'mozilla-beta': {
+ 'target_tasks_method': 'mozilla_beta_tasks',
+ 'optimize_target_tasks': True,
+ },
+ 'mozilla-release': {
+ 'target_tasks_method': 'mozilla_release_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
@@ -195,16 +195,42 @@ def target_tasks_nightly_linux(full_task
and, eventually, uploading the tasks to balrog."""
def filter(task):
platform = task.attributes.get('build_platform')
if platform in ('linux64-nightly', 'linux-nightly'):
return task.attributes.get('nightly', False)
return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
+@_target_task('mozilla_beta_tasks')
+def target_tasks_mozilla_beta(full_task_graph, parameters):
+ """Select the set of tasks required for a promotable beta or release build
+ of linux, 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')
+ if platform in ('android-api-15', 'android-x86'):
+ return True
+ if platform in ('linux64-nightly', 'linux-nightly'):
+ if task.kind not in [
+ 'balrog', 'beetmover', 'beetmover-checksums', 'beetmover-l10n',
+ 'checksums-signing',
+ ]:
+ return task.attributes.get('nightly', False)
+ return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
+
+
+@_target_task('mozilla_release_tasks')
+def target_tasks_mozilla_release(full_task_graph, parameters):
+ """Select the set of tasks required for a promotable beta or release build
+ of linux, plus android CI. The candidates build process involves a pipeline
+ of builds and signing, but does not include beetmover or balrog jobs."""
+ return target_tasks_mozilla_beta(full_task_graph, parameters)
+
+
@_target_task('stylo_tasks')
def target_tasks_stylo(full_task_graph, parameters):
"""Target stylotasks that only run on the m-c branch."""
def filter(task):
platform = task.attributes.get('build_platform')
# only select platforms
if platform not in ('linux64-stylo'):
return False