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) <noreply@anthropic.com>
This commit is contained in:
Frédéric Desbiens
2026-09-30 12:00:52 -04:00
committed by GitHub
parent fb4a8761fc
commit f09846d75a
+12 -1
View File
@@ -21,6 +21,17 @@ on:
default: './test/cmake' default: './test/cmake'
required: false required: false
type: string 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: skip_test:
default: false default: false
required: false required: false
@@ -108,7 +119,7 @@ jobs:
# stall ran until the six hour job limit and cost a whole run rather than # stall ran until the six hour job limit and cost a whole run rather than
# failing and being retried. # failing and being retried.
- name: Install softwares - name: Install softwares
timeout-minutes: 10 timeout-minutes: ${{ inputs.install_timeout_minutes }}
run: ${{ inputs.install_script }} run: ${{ inputs.install_script }}
# TX_COVERAGE instruments every build configuration rather than only the one # TX_COVERAGE instruments every build configuration rather than only the one