diff options
| author | Frédéric Desbiens <[email protected]> | 2026-09-30 12:00:52 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-09-30 12:00:52 -0400 |
| commit | f09846d75ace90fc57fffe89ea8c286db3a08d6d (patch) | |
| tree | 18d96b3f6194c769d87c5fd294c7ec1b63598976 | |
| parent | fb4a8761fc04cad7d259f6563c85460f8aeb6a7a (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.yml | 13 |
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 |
