fune/taskcluster/taskgraph/transforms/upload_symbols.py
Andrew Halberstadt 7d764294a7 Bug 1386857 - [ci] Remove the 'tc' treeherder group prefix from all tasks, r=dustin
There are now only a handful of buildbot jobs remaining and the concern over
outdated treeherder exclusion profiles has largely been resolved.

This does remove the tc() group from a substantial number of tasks which will
now show up as top level tasks, potentially adding clutter. In some cases, we
might want to re-add a new group (e.g group builds or compiled tests together).
However rather than try to predict the best group names for tasks I'm unfamiliar
with, I think it's best to land this as is. Then if things are looking too
cluttered at the root namespace, file follow-up bugs as needed.

MozReview-Commit-ID: 8SMwjDwAOzV

--HG--
extra : rebase_source : 2f6d89d11c139bdcd404e7537db799d0e36ee4c3
2018-01-12 15:49:58 -05:00

55 lines
2.1 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/.
"""
Transform the upload-symbols task description template,
taskcluster/ci/upload-symbols/job-template.yml
into an actual task description.
"""
from __future__ import absolute_import, print_function, unicode_literals
from taskgraph.transforms.base import TransformSequence
transforms = TransformSequence()
@transforms.add
def fill_template(config, tasks):
for task in tasks:
dep = task['dependent-task']
# Fill out the dynamic fields in the task description
task['label'] = dep.label + '-upload-symbols'
task['dependencies'] = {'build': dep.label}
task['worker']['env']['GECKO_HEAD_REPOSITORY'] = config.params['head_repository']
task['worker']['env']['GECKO_HEAD_REV'] = config.params['head_rev']
task['worker']['env']['SYMBOL_SECRET'] = task['worker']['env']['SYMBOL_SECRET'].format(
level=config.params['level'])
build_platform = dep.attributes.get('build_platform')
build_type = dep.attributes.get('build_type')
attributes = task.setdefault('attributes', {})
attributes['build_platform'] = build_platform
attributes['build_type'] = build_type
if 'nightly' in build_platform:
attributes['nightly'] = True
treeherder = task.get('treeherder', {})
th = dep.task.get('extra')['treeherder']
treeherder.setdefault('platform',
"{}/{}".format(th['machine']['platform'],
build_type))
treeherder.setdefault('tier', th['tier'])
treeherder.setdefault('kind', th['jobKind'])
if dep.attributes.get('nightly'):
treeherder.setdefault('symbol', 'SymN')
else:
treeherder.setdefault('symbol', 'Sym')
task['treeherder'] = treeherder
# clear out the stuff that's not part of a task description
del task['dependent-task']
yield task