summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-09-30 12:42:59 -0400
committerGitHub <[email protected]>2026-09-30 12:42:59 -0400
commit729959fed0fc380d68c2bdcb2b4d7a5430f5c21a (patch)
tree9d1d0bcf26e5acc81aefa19ffbfff6ebb7b74266
parentf09846d75ace90fc57fffe89ea8c286db3a08d6d (diff)
Made the build step timeout a template input (#791)
The build step is capped at fifteen minutes for every consumer, on the same shape of assumption the install step carried: that a consumer builds once. Measured build steps are 0.5 minutes for LevelX, 1.1 for FileX and 6.4 for USBX, so fifteen is right for them. GUIX builds five configurations in that step, because its suite is staged across the three steps, and reaches 11.8 minutes. That is 79 per cent of the cap, and it grows with every regression test added -- six advisories landed tests this week. The cap is now an input defaulting to fifteen, matching install_timeout_minutes above. No consumer changes unless it asks to. Assisted-by: Claude Code (Opus 5) <[email protected]>
-rw-r--r--.github/workflows/regression_template.yml11
1 files changed, 10 insertions, 1 deletions
diff --git a/.github/workflows/regression_template.yml b/.github/workflows/regression_template.yml
index eca637de..064f2ebe 100644
--- a/.github/workflows/regression_template.yml
+++ b/.github/workflows/regression_template.yml
@@ -32,6 +32,15 @@ on:
default: 10
required: false
type: number
+ # Minutes for the build step, on the same reasoning as the install step
+ # above. Fifteen suits a consumer that builds once: measured build steps
+ # are 0.5 minutes for LevelX, 1.1 for FileX and 6.4 for USBX. GUIX builds
+ # five configurations here as part of its staging and reaches 11.8, which
+ # is 79 per cent of the cap and shrinking as tests are added.
+ build_timeout_minutes:
+ default: 15
+ required: false
+ type: number
skip_test:
default: false
required: false
@@ -127,7 +136,7 @@ jobs:
# test: the build is where -fprofile-arcs is decided, and the test run is
# where the reports are collected and merged.
- name: Build
- timeout-minutes: 15
+ timeout-minutes: ${{ inputs.build_timeout_minutes }}
env:
TX_COVERAGE: ${{ inputs.skip_coverage && 'OFF' || 'ON' }}
run: ${{ inputs.build_script }}