From 8bf75be90b0721bb77dfc7b20420db485d67eacc Mon Sep 17 00:00:00 2001 From: Ciaran Ryan-Anderson Date: Thu, 23 Jul 2026 16:54:50 -0600 Subject: [PATCH 1/2] Give the Windows compat-smoke build a 30-minute timeout to absorb runner-setup variance --- .github/workflows/python-test.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index 4a66aa507..4fbc72aba 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -229,7 +229,7 @@ jobs: python-compat-smoke-build: runs-on: ${{ matrix.os }} - timeout-minutes: 20 + timeout-minutes: ${{ matrix.job-timeout }} strategy: fail-fast: false matrix: @@ -239,16 +239,22 @@ jobs: artifact-name: python-compat-smoke-ubuntu build-llvm: true build-quantum-pecos: true + job-timeout: 20 + # 30 minutes: Windows runner preparation (disk cleanup) varies by + # several minutes and the pecos-rslib wheel compile alone takes + # 10-12, so 20 minutes cancelled a healthy build (issue #360). - os: windows-2022 python-version: "3.10" artifact-name: python-compat-smoke-windows build-llvm: false build-quantum-pecos: false + job-timeout: 30 - os: macOS-latest python-version: "3.10" artifact-name: python-compat-smoke-macos build-llvm: true build-quantum-pecos: false + job-timeout: 20 steps: - name: Harden the runner (egress audit) From a82098655cd84a34c21f207b330e29fb702d0adf Mon Sep 17 00:00:00 2001 From: Ciaran Ryan-Anderson Date: Thu, 23 Jul 2026 22:42:11 -0600 Subject: [PATCH 2/2] Guard the matrix timeout against a forgotten job-timeout key --- .github/workflows/python-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index 4fbc72aba..f59ff0932 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -229,7 +229,9 @@ jobs: python-compat-smoke-build: runs-on: ${{ matrix.os }} - timeout-minutes: ${{ matrix.job-timeout }} + # The || guard keeps a future entry that forgets job-timeout at the + # historical 20 minutes instead of GitHub's 360-minute default. + timeout-minutes: ${{ matrix.job-timeout || 20 }} strategy: fail-fast: false matrix: