From e6b9c78cf78b61084d4006d83e6910f406e332be Mon Sep 17 00:00:00 2001 From: Seungpyo1007 Date: Tue, 15 Sep 2026 17:58:38 +0900 Subject: [PATCH] fix(ci): let PR triage survive GitHub's large-diff refusal On dump-refresh PRs (#180) GitHub answers the file list with 422 "diff is taking too long to generate" and the triage job died. It now warns, skips path-based labels and still assigns. Refs #1 --- .github/workflows/pr-metadata.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-metadata.yml b/.github/workflows/pr-metadata.yml index ee36daf2b04f0..38830a729707b 100644 --- a/.github/workflows/pr-metadata.yml +++ b/.github/workflows/pr-metadata.yml @@ -40,9 +40,16 @@ jobs: pull_number: issue_number, per_page: 100, }); - for await (const { data } of fileIterator) { - files.push(...data); - if (files.length >= FILE_SCAN_LIMIT) break; + // GitHub refuses the file list for very large PRs (dump refreshes: + // 422 "diff is taking too long to generate"); label from what we got. + try { + for await (const { data } of fileIterator) { + files.push(...data); + if (files.length >= FILE_SCAN_LIMIT) break; + } + } catch (error) { + if (error.status !== 422) throw error; + core.warning(`PR file list unavailable (${error.message}); path labels skipped`); } const filesWereCapped = (pr.changed_files || files.length) > files.length;