Files
langchain/.github/scripts/check_diff.py
Erick Friis 400b852bf0 startswith
2023-12-13 14:54:50 -08:00

48 lines
1.4 KiB
Python

import json
import sys
LANGCHAIN_DIRS = {
"libs/core",
"libs/langchain",
"libs/experimental",
"libs/community",
}
if __name__ == "__main__":
files = sys.argv[1:]
dirs_to_run = set()
for file in files:
if any(
file.startswith(dir_)
for dir_ in (
".github/workflows",
".github/tools",
".github/actions",
"libs/core",
".github/scripts/check_diff.py",
)
):
dirs_to_run.update(LANGCHAIN_DIRS)
elif file.startswith("libs/community"):
dirs_to_run.update(
("libs/community", "libs/langchain", "libs/experimental")
)
elif file.startswith("libs/partners"):
partner_dir = file.split("/")[2]
dirs_to_run.update(
(f"libs/partners/{partner_dir}", "libs/langchain", "libs/experimental")
)
elif file.startswith("templates/"):
template = file.split("/")[1]
dirs_to_run.add(f"templates/{template}")
elif file.startswith("libs/langchain"):
dirs_to_run.update(("libs/langchain", "libs/experimental"))
elif file.startswith("libs/experimental"):
dirs_to_run.add("libs/experimental")
elif file.startswith("libs/"):
dirs_to_run.update(LANGCHAIN_DIRS)
else:
pass
print(json.dumps(list(dirs_to_run)))