""" Chunk the partner repack tasks by subpartner and locale """ import copy from mozbuild.chunkify import chunkify from gecko_taskgraph.transforms.base import TransformSequence from gecko_taskgraph.util.partners import ( get_repack_ids_by_platform, apply_partner_priority, ) transforms = TransformSequence() transforms.add(apply_partner_priority) @transforms.add def chunk_partners(config, jobs): for job in jobs: dep_job = job["primary-dependency"] build_platform = dep_job.attributes["build_platform"] repack_id = dep_job.task.get("extra", {}).get("repack_id") repack_ids = dep_job.task.get("extra", {}).get("repack_ids") copy_repack_ids = job.pop("copy-repack-ids", False) if copy_repack_ids: assert repack_ids, "dep_job {} doesn't have repack_ids!".format( dep_job.label )
from collections import defaultdict import json import logging from gecko_taskgraph.transforms.base import TransformSequence from gecko_taskgraph.util.partners import ( apply_partner_priority, check_if_partners_enabled, get_partner_config_by_kind, generate_attribution_code, ) log = logging.getLogger(__name__) transforms = TransformSequence() transforms.add(check_if_partners_enabled) transforms.add(apply_partner_priority) @transforms.add def add_command_arguments(config, tasks): enabled_partners = config.params.get("release_partners") dependencies = {} fetches = defaultdict(set) attributions = [] release_artifacts = [] attribution_config = get_partner_config_by_kind(config, config.kind) for partner_config in attribution_config.get("configs", []): # we might only be interested in a subset of all partners, eg for a respin if enabled_partners and partner_config[
CONFIG_PER_BOUNCER_PRODUCT_VANILLA["installer"]["file_names"], }, "stub-installer": { "name_postfix": "-{partner}-{sub_config}-stub", # We currently have a sole win32 stub installer that is to be used # in all windows platforms to toggle between full installers "path_template": RELEASES_PARTNERS_PATH_TEMPLATE.replace("{ftp_platform}", "win32"), "file_names": CONFIG_PER_BOUNCER_PRODUCT_VANILLA["stub-installer"]["file_names"], }, } transforms = TransformSequence() transforms.add(check_if_partners_enabled) @transforms.add def make_task_worker(config, jobs): for job in jobs: resolve_keyed_by(job, "worker-type", item_name=job["name"], **{"release-level": config.params.release_level()}) resolve_keyed_by(job, "scopes", item_name=job["name"], **{"release-level": config.params.release_level()}) resolve_keyed_by(job, "bouncer-products",