Current documented limits
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| GitHub-hosted job execution timeA job is terminated and fails when it reaches the limit. | 6 hours | All GitHub-hosted runners | GitHubAug 22, 2026 |
| Self-hosted job execution timeDistinct from the total workflow run time limit. | 5 days | Self-hosted runners | GitHubAug 22, 2026 |
| Artifact storagePlan-level included artifact storage shown in the Actions limits table. | 500 MB | GitHub Free / Free for organizations | GitHubAug 22, 2026 |
| Default artifact and log retentionPublic repositories can configure 1–90 days; private repositories can configure 1–400 days, subject to organization or enterprise limits. | 90 days | Repository setting | GitHubAug 22, 2026 |
How to apply GitHub Actions limits safely
The monitored baseline covers GitHub-hosted job execution time, Self-hosted job execution time, Artifact storage, Default artifact and log retention. Treat these as separate constraints rather than one platform-wide capacity number: a workload can fit one row and still fail another because the plan, model, endpoint, runtime, region, invocation mode, or account scope differs.
- Match the production workload to the exact scope printed beside each value and confirm it in the active GitHub Actions console, configuration, or response headers.
- Measure the serialized request, token volume, duration, concurrency, storage, or connection demand at realistic percentiles, then preserve headroom for bursts and retries.
- Check every adjacent layer—client, SDK, gateway, proxy, queue, database, and downstream service—for a smaller effective limit before changing architecture.
Specific limit pages
These pages exist because the constraint has a distinct implementation or troubleshooting intent. Closely related keyword variations stay consolidated.
GitHub Actions job duration
Current GitHub-hosted and self-hosted job execution ceilings, workflow-run scope, and timeout diagnostics.
GitHub Actions artifacts
Current artifact storage by plan, default retention, repository controls, and the difference between artifacts and dependency caches.