From 9fa05a092a55218d57d088ad091a7f24ac1f98be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Desbiens?= Date: Wed, 30 Sep 2026 11:51:32 -0400 Subject: [PATCH] Made the install step timeout a template input 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) --- .github/workflows/regression_template.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/regression_template.yml b/.github/workflows/regression_template.yml index 267b1b585..eca637def 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