зеркало из https://github.com/mozilla/gecko-dev.git
52 строки
1.6 KiB
Python
52 строки
1.6 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/.
|
|
"""
|
|
Add notifications via taskcluster-notify for release tasks
|
|
"""
|
|
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
import os
|
|
from pipes import quote as shell_quote
|
|
|
|
from taskgraph.transforms.base import TransformSequence
|
|
from taskgraph.util.schema import resolve_keyed_by
|
|
|
|
|
|
transforms = TransformSequence()
|
|
|
|
|
|
@transforms.add
|
|
def add_notifications(config, jobs):
|
|
for job in jobs:
|
|
label = '{}-{}'.format(config.kind, job['name'])
|
|
|
|
resolve_keyed_by(job, 'emails', label, project=config.params['project'])
|
|
emails = [email.format(config=config.__dict__) for email in job.pop('emails')]
|
|
|
|
command = [
|
|
'release',
|
|
'send-buglist-email',
|
|
'--version', config.params['version'],
|
|
'--product', job['shipping-product'],
|
|
'--revision', config.params['head_rev'],
|
|
'--build-number', str(config.params['build_number']),
|
|
'--repo', config.params['head_repository'],
|
|
]
|
|
for address in emails:
|
|
command += ['--address', address]
|
|
if 'TASK_ID' in os.environ:
|
|
command += [
|
|
'--task-group-id', os.environ['TASK_ID'],
|
|
]
|
|
|
|
job['scopes'] = ['notify:email:{}'.format(address) for address in emails]
|
|
job['run'] = {
|
|
'using': 'mach',
|
|
'sparse-profile': 'mach',
|
|
'mach': ' '.join(map(shell_quote, command)),
|
|
}
|
|
|
|
yield job
|