summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-09-30 12:00:52 -0400
committerGitHub <[email protected]>2026-09-30 12:00:52 -0400
commitf09846d75ace90fc57fffe89ea8c286db3a08d6d (patch)
tree18d96b3f6194c769d87c5fd294c7ec1b63598976
parentfb4a8761fc04cad7d259f6563c85460f8aeb6a7a (diff)
Made the install step timeout a template input (#790)
The install step is capped at ten minutes for every consumer. That suits a consumer that only installs packages, which is all of them bar one: measured install steps run 0.2 to 0.5 minutes, and NetX Duo's secure interoperability job, which builds OpenSSL and wolfSSL from source, takes 2.1 to 2.8. GUIX does not fit. Its regression suite is staged across the install, build and test steps to keep each inside its limit, so the install step also builds a configuration, and on a slow mirror the packages and the ThreadX checkout leave too little of the ten minutes for it. Three runs on dev were lost that way. The cap is now an input defaulting to ten, so a consumer that needs longer asks for it and every other consumer keeps the timeout it has today. Assisted-by: Claude Code (Opus 5) <[email protected]>
-rw-r--r--.github/workflows/regression_template.yml13
1 files changed, 12 insertions, 1 deletions
diff --git a/.github/workflows/regression_template.yml b/.github/workflows/regression_template.yml
index 267b1b58..eca637de 100644
--- a/.github/workflows/regression_template.yml
+++ b/.github/workflows/regression_template.yml
@@ -21,6 +21,17 @@ on:
default: './test/cmake'
required: false
type: string
+ # Minutes for the install step. Ten suits a consumer that only installs
+ # packages, which is all of them bar GUIX: measured install steps run 0.2
+ # to 0.5 minutes, and NetX Duo's secure interoperability job, which builds
+ # OpenSSL and wolfSSL from source, takes 2.1 to 2.8. GUIX also builds a
+ # configuration here, because its regression suite is staged across the
+ # install, build and test steps to fit their limits, so it needs longer.
+ # The default keeps every other consumer exactly where it was.
+ install_timeout_minutes:
+ default: 10
+ required: false
+ type: number
skip_test:
default: false
required: false
@@ -108,7 +119,7 @@ jobs:
# stall ran until the six hour job limit and cost a whole run rather than
# failing and being retried.
- name: Install softwares
- timeout-minutes: 10
+ timeout-minutes: ${{ inputs.install_timeout_minutes }}
run: ${{ inputs.install_script }}
# TX_COVERAGE instruments every build configuration rather than only the one