summaryrefslogtreecommitdiffstats
path: root/taskcluster/taskgraph/transforms/visual_metrics.py
blob: b2b2b2fa327e8ad84c7f266b0794ddfceebbf215 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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/.
"""
These transformations take a task description for a visual metrics task and
add the necessary environment variables to run on the given inputs.
"""

from __future__ import absolute_import, print_function, unicode_literals

import json

from taskgraph.transforms.base import TransformSequence

transforms = TransformSequence()


@transforms.add
def set_visual_metrics_jobs(config, jobs):
    """Set the visual metrics configuration for the given jobs."""
    vismet_jobs = config.params["try_task_config"].get("visual-metrics-jobs")

    if vismet_jobs:
        vismet_jobs = json.dumps(vismet_jobs)

    for job in jobs:
        if vismet_jobs:
            job["task"]["payload"].setdefault("env", {}).update(
                VISUAL_METRICS_JOBS_JSON=vismet_jobs
            )

        yield job