From e221a64bd068213b2607fec190691eb8f50a4d34 Mon Sep 17 00:00:00 2001 From: Seungpyo Hong Date: Fri, 18 Sep 2026 08:20:06 +0900 Subject: [PATCH] fix(ci): treat a timed-out PR file list like a refused one #181 caught 422 ("diff is taking too long to generate"); PR #184 got a plain 504 instead and triage died again. Both mean the same thing: no file list for an oversized PR. Refs #1 --- .github/workflows/pr-metadata.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-metadata.yml b/.github/workflows/pr-metadata.yml index 38830a729707..9b7a795120a0 100644 --- a/.github/workflows/pr-metadata.yml +++ b/.github/workflows/pr-metadata.yml @@ -40,15 +40,17 @@ jobs: pull_number: issue_number, per_page: 100, }); - // GitHub refuses the file list for very large PRs (dump refreshes: - // 422 "diff is taking too long to generate"); label from what we got. + // GitHub cannot produce the file list for very large PRs (dump + // refreshes): 422 "diff is taking too long to generate", or a plain + // 504 when it gives up later. Label from whatever arrived. + const NO_FILE_LIST = new Set([422, 502, 503, 504]); 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; + if (!NO_FILE_LIST.has(error.status)) throw error; core.warning(`PR file list unavailable (${error.message}); path labels skipped`); } const filesWereCapped = (pr.changed_files || files.length) > files.length;