CI job or pipeline exceeded time limit
April 30, 2026 · View on GitHub
Playbook ID: pipeline-timeout
Category: ci
Severity: high
Tags: timeout, ci, hung, pipeline
What this failure means
The CI job ran past its configured time limit and was killed by the CI system. This is a hard stop — no further steps ran.
Common log signals
Job's timeout exceeded
execution timeout
timeout was exceeded
execution took longer than
exceeded the maximum execution time
build timed out
pipeline timed out
timed out after
Diagnosis
The CI job ran past its configured time limit and was killed by the CI system. This is a hard stop — no further steps ran.
Fix steps
-
Check the last progressing log line before the timeout killed the job — this tells you whether something was still working or had silently hung.
-
Wrap suspect commands with an explicit timeout so the failure is fast and obvious rather than silent:
timeout 120 <command> # exits non-zero if it exceeds 120 s -
Remove interactive prompts and TTY-only behaviour from setup commands:
--yes,--non-interactive,CI=true,DEBIAN_FRONTEND=noninteractive. -
For Go test hangs: send SIGQUIT to get a goroutine dump showing exactly which goroutine is blocked:
kill -QUIT $(pgrep 'test.timeout') # or set GOTRACEBACK=all before the test runFor Node/Jest hangs: use
--detectOpenHandlesto find resource leaks. -
Cache dependency downloads and split long-running stages into smaller jobs before increasing the global timeout limit.
-
Increase the CI timeout only after identifying a bounded slow path that legitimately needs more time — raising it blindly hides regressions.
Validation
- Re-run the failing step with
timeout <N>wrapper and confirm it completes within the expected window. - Confirm no goroutine dump,
--detectOpenHandles, or hang indicator appears in the output.
Likely files to inspect
.github/workflows/*.yml.gitlab-ci.yml.circleci/config.ymlMakefile
Run Faultline
faultline analyze build.log
faultline explain pipeline-timeout
faultline workflow build.log --json --mode agent
Search phrases this page answers
- CI job or pipeline exceeded time limit
- Ci: ci job or pipeline exceeded time limit
- ERROR: Job failed (system failure): job execution failed on runner
- GitHub Actions ci job or pipeline exceeded time limit
- faultline explain pipeline-timeout
Generated from playbooks/bundled/log/ci/pipeline-timeout.yaml. Do not edit directly — run make docs-generate.