def make_task_worker(config, jobs): for job in jobs: platform = job["attributes"]["build_platform"] repack_id = job["extra"]["repack_id"] partner, subpartner, locale = job['extra']['repack_id'].split('/') build_task = None repackage_task = None repackage_signing_task = None for dependency in job["dependencies"].keys(): if 'repackage-signing' in dependency: repackage_signing_task = dependency elif 'repackage' in dependency: repackage_task = dependency else: build_task = "build" build_task_ref = "<" + str(build_task) + ">" repackage_task_ref = "<" + str(repackage_task) + ">" repackage_signing_task_ref = "<" + str(repackage_signing_task) + ">" # generate the partner path; we'll send this to beetmover as the "locale" ftp_platform = get_ftp_platform(platform) repl_dict = { "build_number": config.params['build_number'], "locale": locale, "partner": partner, "platform": ftp_platform, "release_partner_build_number": config.params['release_partner_build_number'], "subpartner": subpartner, "version": config.params['version'], } partner_public = job['partner_public'] if partner_public: partner_path_key = 'partner-public-path' else: partner_path_key = 'partner-private-path' # Kinds can set these to None if not job[partner_path_key]: continue partner_path = job[partner_path_key].format(**repl_dict) del(job['partner_public']) del(job['partner-private-path']) del(job['partner-public-path']) del(job['partner-bucket-scope']) worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts( job, build_task_ref, repackage_task_ref, repackage_signing_task_ref, platform, repack_id, partner_path ), 'partner-public': partner_public, } job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: platform = job["attributes"]["build_platform"] repack_id = job["extra"]["repack_id"] partner, subpartner, locale = job["extra"]["repack_id"].split("/") partner_config = get_partner_config_by_kind(config, config.kind) repack_stub_installer = partner_config[partner][subpartner].get( "repack_stub_installer" ) build_task = None repackage_task = None repackage_signing_task = None for dependency in job["dependencies"].keys(): if "repackage-signing" in dependency: repackage_signing_task = dependency elif "repackage" in dependency: repackage_task = dependency else: build_task = "build" build_task_ref = "<" + str(build_task) + ">" repackage_task_ref = "<" + str(repackage_task) + ">" repackage_signing_task_ref = "<" + str(repackage_signing_task) + ">" # generate the partner path; we'll send this to beetmover as the "locale" ftp_platform = get_ftp_platform(platform) repl_dict = { "build_number": config.params["build_number"], "locale": locale, "partner": partner, "platform": ftp_platform, "release_partner_build_number": config.params[ "release_partner_build_number" ], "subpartner": subpartner, "version": config.params["version"], } partner_public = job["partner_public"] if partner_public: partner_path_key = "partner-public-path" else: partner_path_key = "partner-private-path" # Kinds can set these to None if not job[partner_path_key]: continue partner_path = job[partner_path_key].format(**repl_dict) del job["partner_public"] del job["partner-private-path"] del job["partner-public-path"] del job["partner-bucket-scope"] worker = { "implementation": "beetmover", "release-properties": craft_release_properties(config, job), "upstream-artifacts": generate_upstream_artifacts( job, build_task_ref, repackage_task_ref, repackage_signing_task_ref, platform, repack_id, partner_path, repack_stub_installer, ), "partner-public": partner_public, } job["worker"] = worker yield job