2023-12-06 19:43:03 +00:00
|
|
|
import json
|
|
|
|
import sys
|
2023-12-15 20:21:59 +00:00
|
|
|
import os
|
2023-12-06 19:43:03 +00:00
|
|
|
|
2023-12-13 17:58:48 +00:00
|
|
|
LANGCHAIN_DIRS = {
|
2023-12-06 19:43:03 +00:00
|
|
|
"libs/core",
|
|
|
|
"libs/langchain",
|
|
|
|
"libs/experimental",
|
2023-12-11 21:53:30 +00:00
|
|
|
"libs/community",
|
2023-12-06 19:43:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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",
|
|
|
|
)
|
|
|
|
):
|
2023-12-13 17:58:48 +00:00
|
|
|
dirs_to_run.update(LANGCHAIN_DIRS)
|
2023-12-06 19:43:03 +00:00
|
|
|
elif "libs/community" in file:
|
|
|
|
dirs_to_run.update(
|
|
|
|
("libs/community", "libs/langchain", "libs/experimental")
|
|
|
|
)
|
|
|
|
elif "libs/partners" in file:
|
|
|
|
partner_dir = file.split("/")[2]
|
2023-12-15 20:21:59 +00:00
|
|
|
if os.path.isdir(f"libs/partners/{partner_dir}"):
|
|
|
|
dirs_to_run.update(
|
|
|
|
(
|
|
|
|
f"libs/partners/{partner_dir}",
|
|
|
|
"libs/langchain",
|
|
|
|
"libs/experimental",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
# Skip if the directory was deleted
|
2023-12-06 19:43:03 +00:00
|
|
|
elif "libs/langchain" in file:
|
|
|
|
dirs_to_run.update(("libs/langchain", "libs/experimental"))
|
|
|
|
elif "libs/experimental" in file:
|
|
|
|
dirs_to_run.add("libs/experimental")
|
|
|
|
elif file.startswith("libs/"):
|
2023-12-13 17:58:48 +00:00
|
|
|
dirs_to_run.update(LANGCHAIN_DIRS)
|
2023-12-06 19:43:03 +00:00
|
|
|
else:
|
|
|
|
pass
|
|
|
|
print(json.dumps(list(dirs_to_run)))
|