GitHub Actions "The job running on runner X has exceeded the maximum execution time"
A single job ran longer than the platform hard cap of 6 hours, so GitHub forcibly stopped it; this is a ceiling, not a configurable timeout you can raise.
What this error means
A long-running job is killed with "The job running on runner X has exceeded the maximum execution time of 360 minutes." Work in progress is lost at the cutoff.
The job running on runner GitHub Actions 7 has exceeded the maximum execution time of 360 minutes.Common causes
Genuinely long workload in one job
A large build, test suite, or data job legitimately needs more than 6 hours when run serially in a single job.
A hung step that never finishes
A deadlocked process, infinite retry, or stuck network wait keeps the job alive with no progress until the cap fires.
How to fix it
Split and parallelize the work
- Break the job into multiple jobs that run in parallel.
- Shard tests or build targets across a matrix.
- Cache expensive steps so reruns are far shorter.
- Add per-step timeout-minutes to catch hangs early.
Find and fix the hang
If the job should finish well under 6 hours, profile the step that runs longest; a stuck process or retry loop is usually the real cause, not the workload size.
How to prevent it
- Keep each job comfortably under the 6-hour ceiling.
- Add timeout-minutes per step to surface hangs fast.
- Parallelize heavy work across jobs rather than serializing it.