e768098d0e
tools_continuous_delivery / Private PyPI non-main branch release (push) Has been skipped
tools_continuous_delivery / Private PyPI main branch release (push) Failing after 2m42s
Publish Promptflow Doc / Build (push) Has been cancelled
Publish Promptflow Doc / Deploy (push) Has been cancelled
Flake8 Lint / flake8 (push) Has been cancelled
Spell check CI / Spell_Check (push) Has been cancelled
69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
from pathlib import Path
|
|
|
|
from .readme_step import ReadmeStepsManage, ReadmeSteps
|
|
from ghactions_driver.telemetry_obj import Telemetry
|
|
|
|
|
|
def write_readme_workflow(readme_path, output_telemetry=Telemetry()):
|
|
relative_path = Path(readme_path).relative_to(
|
|
Path(ReadmeStepsManage.git_base_dir())
|
|
)
|
|
workflow_path = relative_path.parent.as_posix()
|
|
relative_name_path = Path(readme_path).relative_to(
|
|
Path(ReadmeStepsManage.git_base_dir()) / "examples"
|
|
)
|
|
workflow_name = (
|
|
relative_name_path.as_posix()
|
|
.replace(".md", "")
|
|
.replace("/README", "")
|
|
.replace("/", "_")
|
|
.replace("-", "_")
|
|
)
|
|
workflow_name = "samples_" + workflow_name
|
|
|
|
ReadmeSteps.setup_target(
|
|
working_dir=workflow_path,
|
|
template="basic_workflow_replace_config_json.yml.jinja2"
|
|
if "e2e_development_chat_with_pdf" in workflow_name
|
|
else "basic_workflow_replace.yml.jinja2",
|
|
target=f"{workflow_name}.yml",
|
|
readme_name=relative_path.as_posix(),
|
|
)
|
|
ReadmeSteps.install_dependencies()
|
|
ReadmeSteps.install_dev_dependencies()
|
|
if (
|
|
workflow_name.endswith("flows_chat_chat_with_image")
|
|
or workflow_name.endswith("flows_standard_describe_image")
|
|
):
|
|
ReadmeSteps.create_env_gpt4()
|
|
ReadmeSteps.env_create_aoai("aoai_gpt4v_connection")
|
|
else:
|
|
ReadmeSteps.create_env()
|
|
if workflow_name.endswith("pdf"):
|
|
ReadmeSteps.env_create_aoai("chat_with_pdf_custom_connection")
|
|
ReadmeSteps.create_run_yaml()
|
|
if (
|
|
workflow_name.endswith("flows_standard_basic_with_builtin_llm")
|
|
or workflow_name.endswith("flows_standard_flow_with_symlinks")
|
|
or workflow_name.endswith("flows_standard_flow_with_additional_includes")
|
|
or workflow_name.endswith("flows_standard_basic_with_connection")
|
|
):
|
|
ReadmeSteps.yml_create_aoai("examples/connections/azure_openai.yml")
|
|
ReadmeSteps.azure_login()
|
|
if (
|
|
workflow_name.endswith("flows_chat_chat_with_image")
|
|
or workflow_name.endswith("flows_standard_describe_image")
|
|
):
|
|
ReadmeSteps.extract_steps_and_run_gpt_four()
|
|
else:
|
|
ReadmeSteps.extract_steps_and_run()
|
|
|
|
if workflow_name.endswith("e2e_development_chat_with_pdf"):
|
|
ReadmeSteps.login_again()
|
|
ReadmeSteps.execute_command()
|
|
|
|
ReadmeStepsManage.write_workflow(
|
|
workflow_name, "samples_readme_ci", output_telemetry
|
|
)
|
|
ReadmeSteps.cleanup()
|