You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add explicit timeouts to workflow jobs with proportional limits #241
echidna has many workflow jobs without explicit timeout-minutes.
Evidence
On 2026-06-06, echidna has 44 open Hypatia alerts under hypatia/workflow_audit/missing_timeout_minutes.
Local workflow scan shows many jobs under .github/workflows/ with no explicit timeout, while a few already declare one, e.g. hypatia-scan.yml, codeql.yml, and part of container-ci.yml.
Expected behavior
This should be a workflow-security/control hygiene bucket, suitable for mechanical PRs after canary validation.
Route
Suggested route: rhodibot or robot-repo-automaton PR-only. Use a conservative timeout matrix based on workflow class:
quick lint/governance: 5-10 minutes;
build/test: 20-60 minutes;
formal/prover/live jobs: explicit longer values with rationale.
Safety notes
Do not blindly set every job to 10 minutes. Some echidna jobs are formal verification, live provers, container builds, or fuzzing and need proportional limits.
Acceptance criteria
Every workflow job has explicit timeout-minutes.
Long-running jobs document why their timeout is high.
Hypatia stops reporting the 44 timeout findings after scan rerun.
The fix is delivered as a PR, not direct mass mutation.
#247 added timeout-minutes to every steps-based (runs-on) job across all 18 echidna workflows that lacked one — 37 jobs, with proportional values per the matrix this issue asked for (quick lint/governance 10–15; build/test 20–30; idris2/chapel 30; live-provers/dogfood-proofs 20; container builds 90). Delivered as a reviewed PR, not a mass mutation.
Residual Hypatia missing_timeout_minutes hits, if any, are caller-workflow false-positives: timeout-minutes is invalid on reusable-workflow (uses:) jobs (governance, rust-ci, scorecard, secret-scanner, mirror), so those can't/shouldn't be "fixed." A re-scan should drop the 44 toward just those caller cases.
Activity
hyperpolymath commentedon Jun 15, 2026
Resolved by #247 (merged).
#247 added
timeout-minutesto every steps-based (runs-on) job across all 18 echidna workflows that lacked one — 37 jobs, with proportional values per the matrix this issue asked for (quick lint/governance 10–15; build/test 20–30; idris2/chapel 30; live-provers/dogfood-proofs 20; container builds 90). Delivered as a reviewed PR, not a mass mutation.Residual Hypatia
missing_timeout_minuteshits, if any, are caller-workflow false-positives:timeout-minutesis invalid on reusable-workflow (uses:) jobs (governance,rust-ci,scorecard,secret-scanner,mirror), so those can't/shouldn't be "fixed." A re-scan should drop the 44 toward just those caller cases.Closing as completed.
Generated by Claude Code