def make_task_worker(config, jobs): for job in jobs: platform = job["attributes"]["build_platform"] locale = job["attributes"]["chunk_locales"] job['worker'] = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_beetmover_upstream_artifacts( config, job, platform, locale, ), 'artifact-map': generate_beetmover_artifact_map(config, job, platform=platform, locale=locale), } yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 1) if not valid_beetmover_job: raise NotImplementedError("Beetmover checksums must have one dependency.") locales = job["attributes"].get("chunk_locales") platform = job["attributes"]["build_platform"] refs = { "beetmover": None, } for dependency in job["dependencies"].keys(): if dependency.startswith("release-beetmover"): refs['beetmover'] = "<{}>".format(dependency) if None in refs.values(): raise NotImplementedError( "Beetmover checksums must have a beetmover dependency!") worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_beetmover_upstream_artifacts( config, job, platform, locales ), 'artifact-map': generate_beetmover_artifact_map( config, job, platform=platform, locale=locales ), } job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 2 and any( ['signing' in j for j in job['dependencies']])) if not valid_beetmover_job: raise NotImplementedError("Beetmover must have two dependencies.") build_task = None signing_task = None for dependency in job["dependencies"].keys(): if 'signing' in dependency: signing_task = dependency else: build_task = dependency signing_task_ref = "<{}>".format(str(signing_task)) build_task_ref = "<{}>".format(str(build_task)) worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts(job, signing_task_ref, build_task_ref) } job["worker"] = worker yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] refs = { "signing": "<checksums-signing>", } worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), } if should_use_artifact_map(platform, config.params['project']): upstream_artifacts = generate_beetmover_upstream_artifacts( job, platform, locale ) worker['artifact-map'] = generate_beetmover_artifact_map( config, job, platform=platform, locale=locale) else: upstream_artifacts = generate_upstream_artifacts( refs, platform, locale ) # Clean up un-used artifact map, to avoid confusion if job['attributes'].get('artifact_map'): del job['attributes']['artifact_map'] worker['upstream-artifacts'] = upstream_artifacts if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 2 and any( ['signing' in j for j in job['dependencies']])) if not valid_beetmover_job: raise NotImplementedError("Beetmover must have two dependencies.") platform = job["attributes"]["build_platform"] worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_beetmover_upstream_artifacts(config, job, platform=None, locale=None), 'artifact-map': generate_beetmover_artifact_map(config, job, platform=platform), } job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: if not is_valid_beetmover_job(job): raise NotImplementedError( "{}: Beetmover_repackage must have five dependencies.".format( job['label'])) locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] upstream_artifacts = generate_upstream_artifacts( job, job['dependencies'], platform, locale, project=config.params['project']) worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': upstream_artifacts, } if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 1) if not valid_beetmover_job: raise NotImplementedError( "Beetmover checksums must have one dependency.") refs = { "beetmover": None, } for dependency in job["dependencies"].keys(): if dependency.endswith("beetmover"): refs['beetmover'] = "<{}>".format(dependency) if None in refs.values(): raise NotImplementedError( "Beetmover checksums must have a beetmover dependency!") worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts( refs, job['extra']['partner_path'], ), 'partner-public': True, } job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: platform = job["attributes"]["build_platform"] locale = job["attributes"]["chunk_locales"] job["worker"] = { "implementation": "beetmover", "release-properties": craft_release_properties(config, job), "upstream-artifacts": generate_beetmover_upstream_artifacts( config, job, platform, locale, ), "artifact-map": generate_beetmover_artifact_map(config, job, platform=platform, locale=locale), } yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 2) if not valid_beetmover_job: raise NotImplementedError("Beetmover checksums must have two dependencies.") locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] refs = { "beetmover": None, "signing": None, } for dependency in job["dependencies"].keys(): if dependency.startswith("beetmover"): refs['beetmover'] = "<{}>".format(dependency) else: refs['signing'] = "<{}>".format(dependency) if None in refs.values(): raise NotImplementedError( "Beetmover checksums must have a beetmover and signing dependency!") worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts( refs, platform, locale ), } if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] if should_use_artifact_map(platform): upstream_artifacts = generate_beetmover_upstream_artifacts( config, job, platform, locale) else: upstream_artifacts = generate_upstream_artifacts( config, job, job['dependencies'], platform, locale, project=config.params['project'] ) worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': upstream_artifacts, } if should_use_artifact_map(platform): worker['artifact-map'] = generate_beetmover_artifact_map( config, job, platform=platform, locale=locale) if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: signing_task_ref = get_upstream_task_ref( job, expected_kinds=('release-sign-and-push-langpacks', )) platform = job["attributes"]["build_platform"] locale = job["attributes"]["chunk_locales"] if should_use_artifact_map(platform): upstream_artifacts = generate_beetmover_upstream_artifacts( config, job, platform, locale, ) else: upstream_artifacts = generate_upstream_artifacts( signing_task_ref, job['attributes']['chunk_locales']) job['worker'] = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': upstream_artifacts, } if should_use_artifact_map(platform): job['worker']['artifact-map'] = generate_beetmover_artifact_map( config, job, platform=platform, locale=locale) yield job
def make_task_worker(config, jobs): for job in jobs: locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_beetmover_upstream_artifacts(config, job, platform, locale), 'artifact-map': generate_beetmover_artifact_map(config, job, platform=platform, locale=locale) } if locale: worker["locale"] = locale 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('/') 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: job["worker-type"] = "beetmover" worker = { "implementation": "beetmover", "release-properties": craft_release_properties(config, job), "partner-public": job["partner_public"], } job["worker"].update(worker) del job["partner_public"] yield job
def make_task_worker(config, jobs): for job in jobs: if not is_valid_beetmover_job(job): raise NotImplementedError( "{}: Beetmover_repackage must have five dependencies.".format( job['label'])) locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] build_task = None build_signing_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 elif 'signing' in dependency: # catches build-signing and nightly-l10n-signing build_signing_task = dependency else: build_task = "build" build_task_ref = "<" + str(build_task) + ">" build_signing_task_ref = "<" + str(build_signing_task) + ">" repackage_task_ref = "<" + str(repackage_task) + ">" repackage_signing_task_ref = "<" + str(repackage_signing_task) + ">" worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts(job, build_task_ref, build_signing_task_ref, repackage_task_ref, repackage_signing_task_ref, platform, locale, project=config.params['project']), } if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_task_worker(config, jobs): for job in jobs: signing_task_ref = get_upstream_task_ref( job, expected_kinds=('release-sign-and-push-langpacks',) ) job['worker'] = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts( signing_task_ref, job['attributes']['chunk_locales'] ), } yield job
def make_task_worker(config, jobs): for job in jobs: valid_beetmover_job = (len(job["dependencies"]) == 2 and any( ['signing' in j for j in job['dependencies']])) if not valid_beetmover_job: raise NotImplementedError("Beetmover must have two dependencies.") build_task = None signing_task = None for dependency in job["dependencies"].keys(): if 'signing' in dependency: signing_task = dependency else: build_task = dependency signing_task_ref = "<{}>".format(str(signing_task)) build_task_ref = "<{}>".format(str(build_task)) worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), } platform = job["attributes"]["build_platform"] # Works with Firefox/Devedition. Commented for migration. if should_use_artifact_map(platform): upstream_artifacts = generate_beetmover_upstream_artifacts( config, job, platform=None, locale=None) else: upstream_artifacts = generate_upstream_artifacts( job, signing_task_ref, build_task_ref) worker['upstream-artifacts'] = upstream_artifacts # Works with Firefox/Devedition. Commented for migration. if should_use_artifact_map(platform): worker['artifact-map'] = generate_beetmover_artifact_map( config, job, platform=platform) job["worker"] = worker yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] worker = { "implementation": "beetmover", "release-properties": craft_release_properties(config, job), "upstream-artifacts": generate_beetmover_upstream_artifacts( config, job, platform, locale ), "artifact-map": generate_beetmover_artifact_map( config, job, platform=platform, locale=locale ), } if locale: worker["locale"] = locale job["worker"] = worker yield job
def make_beetmover_checksums_worker(config, jobs): for job in jobs: locale = job["attributes"].get("locale") platform = job["attributes"]["build_platform"] refs = { "signing": "<checksums-signing>", } worker = { 'implementation': 'beetmover', 'release-properties': craft_release_properties(config, job), 'upstream-artifacts': generate_upstream_artifacts(refs, platform, locale), } if locale: worker["locale"] = locale 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