From 29d90d0bff678085fce6ad8e86daf5d80ea698bd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 16 Aug 2026 14:15:24 +0000 Subject: [PATCH] build(workflows): increase `random_benchmarks` step timeout The job `Run random benchmarks` on workflow `random_benchmarks` failed on develop with `The action 'Run random benchmarks' has timed out after 60 minutes.`, reproduced on 22 of the last 30 scheduled runs on unrelated develop SHAs, and has not recovered on its own. Root cause: the "Run JavaScript and native add-on benchmarks" step (`BUILD_ADDONS=1`) runs `install-node-addons`/`clean-node-addons` for each of the 50 randomly sampled packages; both targets pattern-match against the full package tree and rebuild/clean a native add-on per package, so the aggregate step time grows with total repository size even though `RANDOM_SELECTION_SIZE` itself stays fixed at 50. Every observed failure hit the 60-minute wall exactly (the data is right-censored), so the true time required is unknown; this commit raises the step timeout from 60 to 90 minutes as a pragmatic interim margin, not a precisely sized fix. A structurally similar timeout issue is separately proposed (unmerged, draft) in PR #12513 for the sibling `run_affected_benchmarks` workflow. If 90 minutes also proves insufficient, the underlying per-package addon clean/rebuild + glob overhead should be addressed directly (e.g., caching or parallelizing add-on builds) rather than raising the timeout again. Ref: https://github.com/stdlib-js/stdlib/actions/runs/31916609719 --- .github/workflows/random_benchmarks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/random_benchmarks.yml b/.github/workflows/random_benchmarks.yml index 115662017c6f..da0f498d6e2a 100644 --- a/.github/workflows/random_benchmarks.yml +++ b/.github/workflows/random_benchmarks.yml @@ -86,7 +86,7 @@ jobs: - name: 'Run JavaScript and native add-on benchmarks' run: | make benchmark-random-javascript RANDOM_SELECTION_SIZE=50 BUILD_ADDONS=1 - timeout-minutes: 60 + timeout-minutes: 90 # Install Cephes dependencies (required by C benchmarks which compare against the Cephes math library; accounting for possible network failures when downloading): - name: 'Install Cephes dependencies'