mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 12:51:09 +02:00
Currently, release resources such as balrog, bouncer and CDN urls are configured by project. However, all production branches use one value and all other branches use another. Rather than duplicate lists of projects, add a helper to identify production release branches. Differential Revision: https://phabricator.services.mozilla.com/D5583 --HG-- extra : moz-landing-system : lando
53 lines
1.5 KiB
Python
53 lines
1.5 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 checksums task into an actual task description.
|
|
"""
|
|
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
import copy
|
|
|
|
from taskgraph.transforms.base import TransformSequence
|
|
from taskgraph.util.scriptworker import get_release_config
|
|
from taskgraph.util.schema import (
|
|
resolve_keyed_by,
|
|
)
|
|
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
transforms = TransformSequence()
|
|
|
|
|
|
@transforms.add
|
|
def handle_keyed_by(config, jobs):
|
|
"""Resolve fields that can be keyed by project, etc."""
|
|
fields = [
|
|
"run.config",
|
|
"run.extra-config",
|
|
]
|
|
for job in jobs:
|
|
job = copy.deepcopy(job)
|
|
for field in fields:
|
|
resolve_keyed_by(
|
|
item=job,
|
|
field=field,
|
|
item_name=job['name'],
|
|
**{'release-level': config.params.release_level()}
|
|
)
|
|
yield job
|
|
|
|
|
|
@transforms.add
|
|
def interpolate(config, jobs):
|
|
release_config = get_release_config(config)
|
|
for job in jobs:
|
|
mh_options = list(job["run"]["options"])
|
|
job["run"]["options"] = [
|
|
option.format(version=release_config["version"],
|
|
build_number=release_config["build_number"])
|
|
for option in mh_options
|
|
]
|
|
yield job
|