From 0232cd60bb56812daaabfafd27013c397b02ca3b Mon Sep 17 00:00:00 2001 From: Simon Davies Date: Mon, 29 Jun 2026 11:37:02 +0100 Subject: [PATCH 1/2] Adds optional repo variables for job timeout values Signed-off-by: Simon Davies --- .github/workflows/Coverage.yml | 2 +- .github/workflows/PrimeCaches.yml | 2 +- .github/workflows/RustNightly.yml | 2 +- .github/workflows/dep_benchmarks.yml | 2 +- .github/workflows/dep_build_guests.yml | 2 +- .github/workflows/dep_build_test.yml | 2 +- .github/workflows/dep_code_checks.yml | 4 ++-- .github/workflows/dep_run_examples.yml | 2 +- .github/workflows/dep_update_guest_locks.yml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/Coverage.yml b/.github/workflows/Coverage.yml index 180049479..fdf7fce86 100644 --- a/.github/workflows/Coverage.yml +++ b/.github/workflows/Coverage.yml @@ -24,7 +24,7 @@ defaults: jobs: coverage: - timeout-minutes: 90 + timeout-minutes: ${{ vars.COVERAGE_JOB_TIMEOUT || 90 }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/PrimeCaches.yml b/.github/workflows/PrimeCaches.yml index 75781b532..9129be4fe 100644 --- a/.github/workflows/PrimeCaches.yml +++ b/.github/workflows/PrimeCaches.yml @@ -67,7 +67,7 @@ jobs: config: debug - hypervisor: hyperv-ws2025 config: release - timeout-minutes: 30 + timeout-minutes: ${{ vars.PRIME_CACHES_JOB_TIMEOUT || 30 }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-amd", "JobId=prime-cache-{2}-{3}-{4}-{5}-{6}"]', matrix.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/RustNightly.yml b/.github/workflows/RustNightly.yml index cfd5874ba..6239c3521 100644 --- a/.github/workflows/RustNightly.yml +++ b/.github/workflows/RustNightly.yml @@ -24,7 +24,7 @@ jobs: # This is a self-contained job since musl builds are a special case # that require TARGET_TRIPLE for cross-compilation musl: - timeout-minutes: 60 + timeout-minutes: ${{ vars.NIGHTLY_JOB_TIMEOUT || 90 }} strategy: fail-fast: true matrix: diff --git a/.github/workflows/dep_benchmarks.yml b/.github/workflows/dep_benchmarks.yml index 13a66ca5d..b57e61487 100644 --- a/.github/workflows/dep_benchmarks.yml +++ b/.github/workflows/dep_benchmarks.yml @@ -71,7 +71,7 @@ defaults: jobs: run-benchmarks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 60 + timeout-minutes: ${{ vars.BENCHMARKS_JOB_TIMEOUT || 60 }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}", "JobId=run-benchmarks-{3}-{4}-{5}"]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_build_guests.yml b/.github/workflows/dep_build_guests.yml index 071dab8a9..63b7c5228 100644 --- a/.github/workflows/dep_build_guests.yml +++ b/.github/workflows/dep_build_guests.yml @@ -32,7 +32,7 @@ defaults: jobs: build-guests: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 15 + timeout-minutes: ${{ vars.BUILD_GUESTS_JOB_TIMEOUT || 15 }} runs-on: ${{ fromJson( format('["self-hosted", "Linux", "{0}", "{1}" {2}]', inputs.arch, diff --git a/.github/workflows/dep_build_test.yml b/.github/workflows/dep_build_test.yml index 834347960..c44bf9eb0 100644 --- a/.github/workflows/dep_build_test.yml +++ b/.github/workflows/dep_build_test.yml @@ -41,7 +41,7 @@ defaults: jobs: build-and-test: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 45 + timeout-minutes: ${{ vars.BUILD_TEST_JOB_TIMEOUT || 45 }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "{1}", {2} {3}]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_code_checks.yml b/.github/workflows/dep_code_checks.yml index 2ca9d4c90..c2778ba99 100644 --- a/.github/workflows/dep_code_checks.yml +++ b/.github/workflows/dep_code_checks.yml @@ -25,7 +25,7 @@ defaults: jobs: linux-checks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 30 + timeout-minutes: ${{ vars.CODE_CHECKS_JOB_TIMEOUT || 30 }} runs-on: ["self-hosted", "Linux", "X64", "1ES.Pool=hld-kvm-amd", "JobId=linux-checks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 @@ -95,7 +95,7 @@ jobs: windows-checks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 30 + timeout-minutes: ${{ vars.CODE_CHECKS_JOB_TIMEOUT || 30 }} runs-on: ["self-hosted", "Windows", "X64", "1ES.Pool=hld-win2025-amd", "JobId=windows-checks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/dep_run_examples.yml b/.github/workflows/dep_run_examples.yml index b32cdfa74..9bf61aa5b 100644 --- a/.github/workflows/dep_run_examples.yml +++ b/.github/workflows/dep_run_examples.yml @@ -41,7 +41,7 @@ defaults: jobs: run-examples: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: 15 + timeout-minutes: ${{ vars.RUN_EXAMPLES_JOB_TIMEOUT || 15}} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "{1}", {2} {3}]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_update_guest_locks.yml b/.github/workflows/dep_update_guest_locks.yml index 162ec0029..a81ae7fc7 100644 --- a/.github/workflows/dep_update_guest_locks.yml +++ b/.github/workflows/dep_update_guest_locks.yml @@ -24,7 +24,7 @@ defaults: jobs: update-guest-locks: runs-on: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd", "JobId=update-guest-locks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] - timeout-minutes: 15 + timeout-minutes: ${{ vars.UPDATE_GUEST_LOCKS_JOB_TIMEOUT || 15 }} steps: # Get GitHub App token for pushing commits back to the PR # Uses the same app as auto-merge-dependabot.yml From e225c2459c7b818173baa6228cc6f8881aea723b Mon Sep 17 00:00:00 2001 From: Simon Davies Date: Mon, 29 Jun 2026 14:30:52 +0100 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Simon Davies --- .github/workflows/Coverage.yml | 2 +- .github/workflows/PrimeCaches.yml | 2 +- .github/workflows/RustNightly.yml | 2 +- .github/workflows/dep_benchmarks.yml | 2 +- .github/workflows/dep_build_guests.yml | 2 +- .github/workflows/dep_build_test.yml | 2 +- .github/workflows/dep_code_checks.yml | 4 ++-- .github/workflows/dep_run_examples.yml | 2 +- .github/workflows/dep_update_guest_locks.yml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/Coverage.yml b/.github/workflows/Coverage.yml index fdf7fce86..873eeb59e 100644 --- a/.github/workflows/Coverage.yml +++ b/.github/workflows/Coverage.yml @@ -24,7 +24,7 @@ defaults: jobs: coverage: - timeout-minutes: ${{ vars.COVERAGE_JOB_TIMEOUT || 90 }} + timeout-minutes: ${{ fromJSON(vars.COVERAGE_JOB_TIMEOUT || '90') }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/PrimeCaches.yml b/.github/workflows/PrimeCaches.yml index 9129be4fe..7a31c7f71 100644 --- a/.github/workflows/PrimeCaches.yml +++ b/.github/workflows/PrimeCaches.yml @@ -67,7 +67,7 @@ jobs: config: debug - hypervisor: hyperv-ws2025 config: release - timeout-minutes: ${{ vars.PRIME_CACHES_JOB_TIMEOUT || 30 }} + timeout-minutes: ${{ fromJSON(vars.PRIME_CACHES_JOB_TIMEOUT || '30') }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-amd", "JobId=prime-cache-{2}-{3}-{4}-{5}-{6}"]', matrix.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/RustNightly.yml b/.github/workflows/RustNightly.yml index 6239c3521..68c941f5b 100644 --- a/.github/workflows/RustNightly.yml +++ b/.github/workflows/RustNightly.yml @@ -24,7 +24,7 @@ jobs: # This is a self-contained job since musl builds are a special case # that require TARGET_TRIPLE for cross-compilation musl: - timeout-minutes: ${{ vars.NIGHTLY_JOB_TIMEOUT || 90 }} + timeout-minutes: ${{ fromJSON(vars.NIGHTLY_JOB_TIMEOUT || '60') }} strategy: fail-fast: true matrix: diff --git a/.github/workflows/dep_benchmarks.yml b/.github/workflows/dep_benchmarks.yml index b57e61487..f4bd372a3 100644 --- a/.github/workflows/dep_benchmarks.yml +++ b/.github/workflows/dep_benchmarks.yml @@ -71,7 +71,7 @@ defaults: jobs: run-benchmarks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.BENCHMARKS_JOB_TIMEOUT || 60 }} + timeout-minutes: ${{ fromJSON(vars.BENCHMARKS_JOB_TIMEOUT || '60') }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}", "JobId=run-benchmarks-{3}-{4}-{5}"]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_build_guests.yml b/.github/workflows/dep_build_guests.yml index 63b7c5228..bd4af828c 100644 --- a/.github/workflows/dep_build_guests.yml +++ b/.github/workflows/dep_build_guests.yml @@ -32,7 +32,7 @@ defaults: jobs: build-guests: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.BUILD_GUESTS_JOB_TIMEOUT || 15 }} + timeout-minutes: ${{ fromJSON(vars.BUILD_GUESTS_JOB_TIMEOUT || '15') }} runs-on: ${{ fromJson( format('["self-hosted", "Linux", "{0}", "{1}" {2}]', inputs.arch, diff --git a/.github/workflows/dep_build_test.yml b/.github/workflows/dep_build_test.yml index c44bf9eb0..fe61cc2dc 100644 --- a/.github/workflows/dep_build_test.yml +++ b/.github/workflows/dep_build_test.yml @@ -41,7 +41,7 @@ defaults: jobs: build-and-test: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.BUILD_TEST_JOB_TIMEOUT || 45 }} + timeout-minutes: ${{ fromJSON(vars.BUILD_TEST_JOB_TIMEOUT || '45') }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "{1}", {2} {3}]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_code_checks.yml b/.github/workflows/dep_code_checks.yml index c2778ba99..f8119bf61 100644 --- a/.github/workflows/dep_code_checks.yml +++ b/.github/workflows/dep_code_checks.yml @@ -25,7 +25,7 @@ defaults: jobs: linux-checks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.CODE_CHECKS_JOB_TIMEOUT || 30 }} + timeout-minutes: ${{ fromJSON(vars.CODE_CHECKS_JOB_TIMEOUT || '30') }} runs-on: ["self-hosted", "Linux", "X64", "1ES.Pool=hld-kvm-amd", "JobId=linux-checks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 @@ -95,7 +95,7 @@ jobs: windows-checks: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.CODE_CHECKS_JOB_TIMEOUT || 30 }} + timeout-minutes: ${{ fromJSON(vars.CODE_CHECKS_JOB_TIMEOUT || '30') }} runs-on: ["self-hosted", "Windows", "X64", "1ES.Pool=hld-win2025-amd", "JobId=windows-checks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/dep_run_examples.yml b/.github/workflows/dep_run_examples.yml index 9bf61aa5b..e7ed40906 100644 --- a/.github/workflows/dep_run_examples.yml +++ b/.github/workflows/dep_run_examples.yml @@ -41,7 +41,7 @@ defaults: jobs: run-examples: if: ${{ inputs.docs_only == 'false' }} - timeout-minutes: ${{ vars.RUN_EXAMPLES_JOB_TIMEOUT || 15}} + timeout-minutes: ${{ fromJSON(vars.RUN_EXAMPLES_JOB_TIMEOUT || '15') }} runs-on: ${{ fromJson( format('["self-hosted", "{0}", "{1}", {2} {3}]', inputs.hypervisor == 'hyperv-ws2025' && 'Windows' || 'Linux', diff --git a/.github/workflows/dep_update_guest_locks.yml b/.github/workflows/dep_update_guest_locks.yml index a81ae7fc7..d1e2d4ce6 100644 --- a/.github/workflows/dep_update_guest_locks.yml +++ b/.github/workflows/dep_update_guest_locks.yml @@ -24,7 +24,7 @@ defaults: jobs: update-guest-locks: runs-on: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd", "JobId=update-guest-locks-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"] - timeout-minutes: ${{ vars.UPDATE_GUEST_LOCKS_JOB_TIMEOUT || 15 }} + timeout-minutes: ${{ fromJSON(vars.UPDATE_GUEST_LOCKS_JOB_TIMEOUT || '15') }} steps: # Get GitHub App token for pushing commits back to the PR # Uses the same app as auto-merge-dependabot.yml