From 1bd86f0623f65827ae94bb8df18234a77fa16e87 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 3 Nov 2026 18:31:24 +0400 Subject: [PATCH] Let the Test jobs run for 105 minutes On Python 3.11 to 3.13, coverage.py 7.13.5 records coverage with its C trace function (it uses sys.monitoring only on 3.14), so the Test jobs there take 65 to 90 minutes, and one of them was often cancelled at the 90-minute limit with no failing test: 3.12 on #730, 3.11 on #735. The 3.14 job takes 47 to 60 minutes. The push-to-main Test job runs the same suite and keeps the same limit as the pull-request one, so a release run isn't cancelled before Versioning either. Fixes #736 Co-Authored-By: Claude Opus 5.5 --- .github/workflows/pr_code_changes.yaml | 7 +++++-- .github/workflows/push.yaml | 7 ++++--- changelog.d/736.changed.md | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 changelog.d/736.changed.md diff --git a/.github/workflows/pr_code_changes.yaml b/.github/workflows/pr_code_changes.yaml index 0cacd40a3..e19e3869f 100644 --- a/.github/workflows/pr_code_changes.yaml +++ b/.github/workflows/pr_code_changes.yaml @@ -174,9 +174,12 @@ jobs: permissions: contents: read # Observed 2026-10-14..15: 28 to 54 minutes per Python version, with runs on - # 3.12 and 3.13 cancelled at the old 60-minute limit. Fail a hung job instead + # 3.12 and 3.13 cancelled at the old 60-minute limit. By early Nov, 65 to 90 + # minutes on 3.11-3.13, where coverage.py 7.13.5 uses its C trace function + # (sys.monitoring only on 3.14, which takes 47-60), and one of them was often + # cancelled at 90: 3.12 on #730, 3.11 on #735 (#736). Fail a hung job instead # of holding a shared org runner for the 6-hour default. - timeout-minutes: 90 + timeout-minutes: 105 strategy: fail-fast: false matrix: diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 75a3f7b43..4ed2b2945 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -50,9 +50,10 @@ jobs: contents: read # Successful runs on main 2026-10-14..16: 3.11 33-54 min, 3.12 32-56, # 3.13 36-60, 3.14 23-42; at 60 minutes every push run on 16 Oct was - # cancelled before Versioning, so nothing was released (#640). Matches - # the pull-request Test job (#631). - timeout-minutes: 90 + # cancelled before Versioning, so nothing was released (#640). By early + # Nov, pull-request runs on 3.11-3.13 took 65 to 90 minutes and were often + # cancelled at 90 (#736). Matches the pull-request Test job (#631). + timeout-minutes: 105 strategy: fail-fast: false matrix: diff --git a/changelog.d/736.changed.md b/changelog.d/736.changed.md new file mode 100644 index 000000000..0e51dd91e --- /dev/null +++ b/changelog.d/736.changed.md @@ -0,0 +1 @@ +The pull-request and push-to-main Test jobs may run for 105 minutes instead of 90. On Python 3.11 to 3.13 they now take 65 to 90 minutes, and one of them was often cancelled at the 90-minute limit with no failing test.