From 926cfc812c7294a3c9bea7b6da1a674affc7977e Mon Sep 17 00:00:00 2001 From: Nathan Date: Sat, 22 Aug 2026 14:53:09 -0400 Subject: [PATCH] fix(ci): apply the lobbying-fetch timeout fix to update-weekly.yml too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #111 fixed the 45-min timeout on the lobbying-fetch step in update-data.yml ("Update Data Only"), but missed that update-weekly.yml ("Weekly Update (Data + Charts)") — the workflow that actually failed 3 weeks running (#108/#109/#110) and runs on the Monday schedule — maintains its own duplicate copy of the same steps. It still had timeout-minutes: 45 and no PYTHONUNBUFFERED. Same fix, same rationale as #111: timeout-minutes 45 -> 90, PYTHONUNBUFFERED=1. Restores parity between the two files' fetch sections. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/update-weekly.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-weekly.yml b/.github/workflows/update-weekly.yml index eb385c1..bacc62f 100644 --- a/.github/workflows/update-weekly.yml +++ b/.github/workflows/update-weekly.yml @@ -61,8 +61,20 @@ jobs: python get_MS4_annual_reports.py --yes --skip-download - name: Fetch — MA lobbying disclosures (incremental) - timeout-minutes: 45 + # 45 min was too tight during the Jul/Jan full-sweep filing windows: the + # last 3 consecutive weekly runs (2026-08-03, -10, -17) all hit the + # timeout while still making real progress (e.g. 1550/1682 registrants + # done, 305 new disclosures found, right up to the kill). Bumped with + # real margin above the observed ~49 min full-sweep completion time. + timeout-minutes: 90 working-directory: get_data + env: + # Unbuffered stdout: without this, Python fully block-buffers when its + # output isn't a TTY (true for a CI-piped log), so the GH Actions log + # shows nothing for many minutes at a time and then dumps a huge burst + # — making it impossible to tell a slow-but-progressing run apart from + # a real hang without downloading and timestamp-diffing the raw log. + PYTHONUNBUFFERED: "1" run: python get_MA_lobbying.py --archive-raw - name: Fetch — MA legislature bills (incremental)