def get_decision_parameters()

in taskcluster/app_services_taskgraph/__init__.py [0:0]


def get_decision_parameters(graph_config, parameters):
    if parameters["tasks_for"] == "github-pull-request":
        pr_title = os.environ.get("APPSERVICES_PULL_REQUEST_TITLE", "")
        preview_match = PREVIEW_RE.search(pr_title)
        if preview_match is not None:
            if preview_match.group(1) == "nightly":
                parameters["preview-build"] = "nightly"
                parameters["target_tasks_method"] = "full"
            elif preview_match.group(1) == "release":
                parameters["target_tasks_method"] = "full"
                parameters["release-type"] = "release"
            else:
                raise NotImplementedError(
                    "Only nightly preview builds are currently supported"
                )
        elif "[ci full]" in pr_title:
            parameters["target_tasks_method"] = "pr-full"
        elif "[ci skip]" in pr_title:
            parameters["target_tasks_method"] = "pr-skip"
        else:
            parameters["target_tasks_method"] = "pr-normal"
    elif parameters["tasks_for"] == "github-push":
        if parameters["head_tag"].startswith("release-"):
            parameters["target_tasks_method"] = "release"
            parameters["release-type"] = "release"
    elif parameters["tasks_for"] == "cron":
        # We don't have a great way of determining if something is a nightly or
        # not.  But for now, we can assume all cron-based builds are nightlies.
        parameters["preview-build"] = "nightly"
        parameters["release-type"] = "nightly"

    parameters["branch-build"] = branch_builds.calc_branch_build_param(parameters)
    parameters["filters"].extend(
        [
            "branch-build",
        ]
    )