taskcluster/taskgraph/transforms/build_attrs.py
author Mike Hommey <mh+mozilla@glandium.org>
Fri, 21 Jul 2017 06:55:06 +0900
changeset 370080 0ee08a9803fc13145128cfa0625a63bd464ccd32
parent 313704 a1911eb6ed8b024fdad878de7bef5568c95e11c0
child 370091 b1e444b1b4c70411975bd05715408b219a8f2bf0
permissions -rw-r--r--
Bug 1382849 - Add workspace cache to toolchain docker-worker jobs. r=dustin,gps

# 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 __future__ import absolute_import, print_function, unicode_literals

from taskgraph.transforms.base import TransformSequence

transforms = TransformSequence()


@transforms.add
def set_build_attributes(config, jobs):
    """
    Set the build_platform and build_type attributes based on the job name.
    Although not all jobs using this transform are actual "builds", the try
    option syntax treats them as such, and this arranges the attributes
    appropriately for that purpose.
    """
    for job in jobs:
        if '/' in job['name']:
            build_platform, build_type = job['name'].split('/')
        else:
            build_platform = job['name']
            build_type = 'opt'

        # pgo builds are represented as a different platform, type opt
        if build_type == 'pgo':
            build_platform = build_platform + '-pgo'
            build_type = 'opt'

        attributes = job.setdefault('attributes', {})
        attributes.update({
            'build_platform': build_platform,
            'build_type': build_type,
        })

        yield job