infra: fail check_diffs if too many files changed (#15423)

Jobs like
https://github.com/langchain-ai/langchain/actions/runs/7389187843/job/20101494206
only receive the first 300 changed files. Because of the opportunity to
miss packages, better to auto-fail and manually run.

Checking that it does what I expect in #15424
This commit is contained in:
Erick Friis 2024-01-03 13:30:16 -08:00 committed by GitHub
parent 69a8a26683
commit 1437872df9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -13,6 +13,10 @@ if __name__ == "__main__":
files = sys.argv[1:] files = sys.argv[1:]
dirs_to_run = set() dirs_to_run = set()
if len(files) == 300:
# max diff length is 300 files - there are likely files missing
raise ValueError("Max diff reached. Please manually run CI on changed libs.")
for file in files: for file in files:
if any( if any(
file.startswith(dir_) file.startswith(dir_)
@ -48,4 +52,5 @@ if __name__ == "__main__":
dirs_to_run.update(LANGCHAIN_DIRS) dirs_to_run.update(LANGCHAIN_DIRS)
else: else:
pass pass
print(json.dumps(list(dirs_to_run))) json_output = json.dumps(list(dirs_to_run))
print(f"dirs-to-run={json_output}")

View File

@ -27,7 +27,8 @@ jobs:
- id: files - id: files
uses: Ana06/get-changed-files@v2.2.0 uses: Ana06/get-changed-files@v2.2.0
- id: set-matrix - id: set-matrix
run: echo "dirs-to-run=$(python .github/scripts/check_diff.py ${{ steps.files.outputs.all }})" >> $GITHUB_OUTPUT run: |
python .github/scripts/check_diff.py ${{ steps.files.outputs.all }} >> $GITHUB_OUTPUT
outputs: outputs:
dirs-to-run: ${{ steps.set-matrix.outputs.dirs-to-run }} dirs-to-run: ${{ steps.set-matrix.outputs.dirs-to-run }}
ci: ci: