38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
# 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/.
|
|
|
|
|
|
from taskgraph.transforms.base import TransformSequence
|
|
|
|
transforms = TransformSequence()
|
|
|
|
|
|
@transforms.add
|
|
def maybe_setup_os_integration(config, tasks):
|
|
if (
|
|
config.params["tasks_for"] != "cron"
|
|
or config.params["target_tasks_method"] != "os-integration"
|
|
):
|
|
yield from tasks
|
|
return
|
|
|
|
for task in tasks:
|
|
# Tags are ignored for raptor / talos. Marionette unittest
|
|
# doesn't support dynamic chunking.
|
|
if task["suite"] in ("raptor", "talos", "marionette-unittest"):
|
|
yield task
|
|
continue
|
|
|
|
if (
|
|
task.get("test-manifest-loader", True) is not None
|
|
and isinstance(task["chunks"], int)
|
|
and task["chunks"] > 1
|
|
):
|
|
task["default-chunks"] = task["chunks"]
|
|
task["chunks"] = "dynamic"
|
|
|
|
env = task.setdefault("worker", {}).setdefault("env", {})
|
|
env["MOZHARNESS_TEST_TAG"] = ["os_integration"]
|
|
yield task
|