Bug 1432656 - add automation for nightly latest bouncer products. r=jlorenzo a=Aryx

This commit is contained in:
Mihai Tabara 2018-09-05 12:34:26 +03:00
Родитель e5d9fb7164
Коммит 5e32960638
4 изменённых файлов: 102 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,51 @@
# 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/.
loader: taskgraph.loader.transform:loader
transforms:
- taskgraph.transforms.bouncer_locations:transforms
- taskgraph.transforms.task:transforms
job-defaults:
description: nightly bouncer locations job
attributes:
build_platform: linux64-nightly
nightly: true
worker-type:
by-project:
mozilla-central: scriptworker-prov-v1/bouncer-v1
default: scriptworker-prov-v1/bouncer-dev
worker:
implementation: bouncer-locations
scopes:
by-project:
mozilla-central:
- project:releng:bouncer:action:locations
- project:releng:bouncer:server:production
default:
- project:releng:bouncer:action:locations
- project:releng:bouncer:server:staging
run-on-projects: ['maple', 'mozilla-central']
treeherder:
symbol: BncLoc
kind: other
tier: 2
jobs:
firefox:
bouncer-products:
by-project:
mozilla-central:
- firefox-nightly-latest
- firefox-nightly-latest-ssl
- firefox-nightly-latest-l10n
- firefox-nightly-latest-l10n-ssl
default:
- firefox-nightly-latest
- firefox-nightly-latest-ssl
- firefox-nightly-latest-l10n
- firefox-nightly-latest-l10n-ssl
treeherder:
platform: firefox-release/opt

Просмотреть файл

@ -311,6 +311,10 @@ bouncer-check
-------------
Checks Bouncer (download.mozilla.org) uptake.
bouncer-locations
-----------------
Updates nightly bouncer locations for version bump
release-bouncer-check
---------------------
Checks Bouncer (download.mozilla.org) uptake as part of the release tasks.

Просмотреть файл

@ -0,0 +1,33 @@
# 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
import logging
from taskgraph.transforms.base import TransformSequence
from taskgraph.util.schema import resolve_keyed_by
logger = logging.getLogger(__name__)
transforms = TransformSequence()
@transforms.add
def make_task_worker(config, jobs):
for job in jobs:
resolve_keyed_by(
job, 'worker-type', item_name=job['name'], project=config.params['project']
)
resolve_keyed_by(
job, 'scopes', item_name=job['name'], project=config.params['project']
)
resolve_keyed_by(
job, 'bouncer-products', item_name=job['name'], project=config.params['project']
)
job['worker']['bouncer-products'] = job['bouncer-products']
del job['bouncer-products']
yield job

Просмотреть файл

@ -564,6 +564,9 @@ task_description_schema = Schema({
}, {
Required('implementation'): 'bouncer-aliases',
Required('entries'): object,
}, {
Required('implementation'): 'bouncer-locations',
Required('bouncer-products'): [basestring],
}, {
Required('implementation'): 'bouncer-submission',
Required('locales'): [basestring],
@ -1187,6 +1190,17 @@ def build_bouncer_aliases_payload(config, task, task_def):
}
@payload_builder('bouncer-locations')
def build_bouncer_locations_payload(config, task, task_def):
worker = task['worker']
release_config = get_release_config(config)
task_def['payload'] = {
'bouncer_products': worker['bouncer-products'],
'version': release_config['version'],
}
@payload_builder('bouncer-submission')
def build_bouncer_submission_payload(config, task, task_def):
worker = task['worker']