diff options
Diffstat (limited to '')
-rw-r--r-- | taskcluster/android_taskgraph/transforms/push_android_app.py | 52 |
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 |