def generate_beetmover_template_args(context): task = context.task release_props = context.release_props if is_maven_action(context.action): return _generate_beetmover_template_args_maven(task, release_props) tmpl_args = { # payload['upload_date'] is a timestamp defined by params['pushdate'] # in mach taskgraph "upload_date": arrow.get(task['payload']['upload_date']).format('YYYY/MM/YYYY-MM-DD-HH-mm-ss'), "version": release_props["appVersion"], "branch": release_props["branch"], "product": release_props["appName"], "stage_platform": release_props["stage_platform"], "platform": release_props["platform"], "buildid": release_props["buildid"], "partials": get_partials_props(task), "filename_platform": NORMALIZED_FILENAME_PLATFORMS.get(release_props["stage_platform"], release_props["stage_platform"]), } if (is_promotion_action(context.action) or is_release_action(context.action) or is_partner_action(context.action)): tmpl_args["build_number"] = task['payload']['build_number'] tmpl_args["version"] = task['payload']['version'] # e.g. action = 'push-to-candidates' or 'push-to-nightly' tmpl_bucket = context.action.split('-')[-1] locales_in_upstream_artifacts = [ upstream_artifact['locale'] for upstream_artifact in task['payload']['upstreamArtifacts'] if 'locale' in upstream_artifact ] uniques_locales_in_upstream_artifacts = sorted(list(set(locales_in_upstream_artifacts))) if 'locale' in task['payload'] and uniques_locales_in_upstream_artifacts: _check_locale_consistency(task['payload']['locale'], uniques_locales_in_upstream_artifacts) tmpl_args['locales'] = uniques_locales_in_upstream_artifacts elif uniques_locales_in_upstream_artifacts: tmpl_args['locales'] = uniques_locales_in_upstream_artifacts elif 'locale' in task['payload']: tmpl_args['locales'] = [task['payload']['locale']] product_name = get_product_name( release_props["appName"].lower(), release_props["stage_platform"]) if tmpl_args.get('locales') and ( # we only apply the repacks template if not english or android "multi" locale set(tmpl_args.get('locales')).isdisjoint({'en-US', 'multi'})): tmpl_args["template_key"] = "%s_%s_repacks" % (product_name, tmpl_bucket) else: tmpl_args["template_key"] = "%s_%s" % (product_name, tmpl_bucket) return tmpl_args
def generate_beetmover_template_args(context): task = context.task release_props = context.release_props upload_date = task["payload"]["upload_date"] args = [] try: upload_date = float(upload_date) except ValueError: upload_date = upload_date.split("/")[-1] args.append("YYYY-MM-DD-HH-mm-ss") tmpl_args = { # payload['upload_date'] is a timestamp defined by params['pushdate'] # in mach taskgraph "upload_date": arrow.get(upload_date, *args).format("YYYY/MM/YYYY-MM-DD-HH-mm-ss"), "version": release_props["appVersion"], "branch": release_props["branch"], "product": release_props["appName"], "stage_platform": release_props["stage_platform"], "platform": release_props["platform"], "buildid": release_props["buildid"], "partials": get_partials_props(task), "filename_platform": NORMALIZED_FILENAME_PLATFORMS.get(release_props["stage_platform"], release_props["stage_platform"]), } if is_promotion_action(context.action) or is_release_action(context.action) or is_partner_action(context.action): tmpl_args["build_number"] = task["payload"]["build_number"] tmpl_args["version"] = task["payload"]["version"] # e.g. action = 'push-to-candidates' or 'push-to-nightly' tmpl_bucket = context.action.split("-")[-1] locales_in_upstream_artifacts = [upstream_artifact["locale"] for upstream_artifact in task["payload"]["upstreamArtifacts"] if "locale" in upstream_artifact] uniques_locales_in_upstream_artifacts = sorted(list(set(locales_in_upstream_artifacts))) if "locale" in task["payload"] and uniques_locales_in_upstream_artifacts: _check_locale_consistency(task["payload"]["locale"], uniques_locales_in_upstream_artifacts) tmpl_args["locales"] = uniques_locales_in_upstream_artifacts elif uniques_locales_in_upstream_artifacts: tmpl_args["locales"] = uniques_locales_in_upstream_artifacts elif "locale" in task["payload"]: tmpl_args["locales"] = [task["payload"]["locale"]] product_name = get_product_name(release_props["appName"].lower(), release_props["stage_platform"]) if tmpl_args.get("locales") and ( # we only apply the repacks template if not english or android "multi" locale set(tmpl_args.get("locales")).isdisjoint({"en-US", "multi"}) ): tmpl_args["template_key"] = "%s_%s_repacks" % (product_name, tmpl_bucket) else: tmpl_args["template_key"] = "%s_%s" % (product_name, tmpl_bucket) return tmpl_args