onnxruntime
51 строка · 1.6 Кб
1# generate_skip_doc_change.py
2import os3from pathlib import Path4
5from jinja2 import Environment, FileSystemLoader, Template6
7GITHUB_DIR = Path(__file__).resolve().parent.parent8
9
10class Skipped_Workflow: # noqa: N80111def __init__(self, workflow_name: str, job_names: list, output_file_name: str):12self.workflow_name = workflow_name13self.job_names = job_names14self.fake_file_name = output_file_name15
16
17WIN_GPU_CI_WORKFLOW = Skipped_Workflow(18workflow_name="Windows GPU CI Pipeline",19job_names=[20"cuda build_x64_RelWithDebInfo",21"dml build_x64_RelWithDebInfo",22"training build_x64_RelWithDebInfo",23"kernelDocumentation build_x64_RelWithDebInfo",24],25output_file_name=str(GITHUB_DIR.joinpath("workflows/generated_fake_win_gpu_ci.yml")),26)
27
28
29def generate_fake_ci_yaml(template: Template, workflow: Skipped_Workflow):30py_file_name = os.path.basename(__file__)31content = template.render(32python_file_name=py_file_name, ci_workflow_name=workflow.workflow_name, job_names=workflow.job_names33)34
35filename = workflow.fake_file_name36with open(filename, mode="w", encoding="utf-8") as output_file:37output_file.write(content)38if content[-1] != "\n":39output_file.write("\n")40print(f"... wrote {filename}")41
42
43def main() -> None:44environment = Environment(loader=FileSystemLoader(str(GITHUB_DIR.joinpath("workflows/"))))45template = environment.get_template("skip-doc-change.yml.j2")46skipped_workflows = [WIN_GPU_CI_WORKFLOW]47[generate_fake_ci_yaml(template, workflow) for workflow in skipped_workflows]48
49
50if __name__ == "__main__":51main()52