def compile_workflow()

in functions/data-processing-engines/dataform-tag-executor/main.py [0:0]


def compile_workflow(gcp_project: str, repo_name: str, repo_uri: str, branch: str, query_variables: dict):
    """Compiles a Dataform workflow using a specified Git branch.

    Returns:
        str: The name of the created compilation result.
    """

    github_token = access_secret_version(gcp_project, repo_name + "_secret")

    dataform_json_content = get_dataform_json_from_github(
        df_client
            .get_repository(name=repo_uri)
            .git_remote_settings.url
            .replace(".git", ""),
        github_token)

    compilation_result = dataform_v1beta1.CompilationResult(
        git_commitish=branch,
    )

    merge_compilation_config(compilation_result.code_compilation_config, query_variables, dataform_json_content)

    print("compilation_result.code_compilation_config.vars::::::   " + str(
        compilation_result.code_compilation_config.vars))

    request = dataform_v1beta1.CreateCompilationResultRequest(
        parent=repo_uri,
        compilation_result=compilation_result
    )

    response = df_client.create_compilation_result(request=request)
    name = response.name
    logging.info(f'compiled workflow {name}')
    return name