summaryrefslogtreecommitdiffstats
path: root/taskcluster/android_taskgraph/transforms/push_android_app.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--taskcluster/android_taskgraph/transforms/push_android_app.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/taskcluster/android_taskgraph/transforms/push_android_app.py b/taskcluster/android_taskgraph/transforms/push_android_app.py
new file mode 100644
index 0000000000..bca9b3c8de
--- /dev/null
+++ b/taskcluster/android_taskgraph/transforms/push_android_app.py
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+"""
+Apply some defaults and minor modifications to the jobs defined in the build
+kind.
+"""
+
+from __future__ import absolute_import, print_function, unicode_literals
+
+from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.schema import resolve_keyed_by
+
+transforms = TransformSequence()
+
+
+@transforms.add
+def resolve_keys(config, tasks):
+ for task in tasks:
+ for key in (
+ "worker.channel",
+ "worker.dep",
+ "worker.certificate-alias",
+ "worker.product",
+ "routes",
+ ):
+ resolve_keyed_by(
+ task,
+ key,
+ item_name=task["name"],
+ **{
+ "build-type": task["attributes"]["build-type"],
+ "level": config.params["level"],
+ }
+ )
+ yield task
+
+
+@transforms.add
+def add_startup_test(config, tasks):
+ for task in tasks:
+ if "nightly" not in task["attributes"].get("build-type", ""):
+ yield task
+ continue
+ for dep_label, dep_task in config.kind_dependencies_tasks.items():
+ if (
+ dep_task.kind == "android-startup-test"
+ and dep_task.attributes["shipping-product"]
+ == task["attributes"]["shipping-product"]
+ ):
+ task["dependencies"]["android-startup-test"] = dep_label
+ yield task