fshy

Home / GitHub

GitHub Actions on a public repository

docs.github.com/en/billing/concepts/product-billing/github-aCI runnerci-cd-runners/github-actions-publicJSONcomparereport an errorprovider JSON

Free allowance
Standard GitHub-hosted runners are free with no minute cap on a public repository; 20 concurrent jobs on Free; 6 hours per job
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
emailno card, no phone
Binding limit
per-object-cap6 hours per job; 35 days per workflow run; 256 jobs per matrix; a 500 KB workflow file; 10 GB of cache per repository, evicted oldest-first beyond it
Evidence
documented14 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tierstandard GitHub-hosted runners are free with no minute cap on a public repository; 20 concurrent jobs on Free; 6 hours per job
unit unlimited; metered on wall-clock
Pricenone stated
Limits
  • per-object-cap (binding) 6 hours per job; 35 days per workflow run; 256 jobs per matrix; a 500 KB workflow file source
  • request-rate 20 concurrent jobs on GitHub Free (Pro 40, Team 60, Enterprise 500); 5 concurrent macOS source
  • retention-clamped cache entries not accessed in over 7 days are removed source
  • retention-clamped artifacts and logs are kept 90 days by default and the window is configurable per repository source
  • per-object-cap (binding) 10 GB of cache per repository, evicted oldest-first beyond it source
100 workflow runs may queue per concurrency group; cache uploads are 200 a minute and downloads 1,500 a minute per repository; in a public repository a scheduled workflow is automatically disabled when the repository has no activity for 60 days (docs.github.com/en/actions/how-tos/manage-workflow-runs/disable-and-enable-workflows)
Identityemail a GitHub account; no card for a public repository
Egressno egress charge on the runner; artifact storage is capped at 500 MB on Free and shared with GitHub Packages
free allowance: 500 MB artifact and package storage
Per-object cap6 hours of execution per job on a GitHub-hosted runner; 35 days per workflow run including waiting and approval; 256 jobs per matrix per run; a 500 KB workflow file
Retentionartifacts and logs are kept 90 days by default and configurable per repository; the runner is destroyed at the end of the job (90 days)
Interfacegit, cli a workflow YAML in .github/workflows, triggered by a push, a schedule, a pull request or a repository dispatch; the runner is a shell with a network
Toolingthe runner image is Ubuntu 24.04 with 4 vCPU, 16 GB RAM and 14 GB SSD; any package manager, any compiler, docker buildx
Composes withfree compute whose output has to leave immediately: artifacts are 500 MB, GHCR is 500 MB, and the cache evicts at 7 days. R2's 10 GB free tier is the join that makes the chain storable
Reliabilitythe repository, its workflows and its logs are public, which is a technical property of the free tier and not a policy question
NotesUnlimited minutes is true and it is not the number that decides anything. The capacity is the 20-slot concurrency: 20 slots x 24 h is 480 runner-hours a day, which is the flow ceiling, and the 120 runner-hours the slots hold at one instant is a stock and not a rate. Minutes are not scarce; a single job that runs longer than six hours is impossible. A 256-job matrix at the six-hour ceiling is 1,536 runner-hours, or thirteen waves of 20 and 78 hours of wall clock.
Evidence notedocumented the billing and limits pages were read and state both the unlimited public minutes and each cap.
Parsed numbers
  • has-free-tier 1
  • per-object-cap 6 hours
  • per-object-cap 10 GB
Evidence 14
datesourcewhat it proved
2026-10-22docs.github.com/en/billing/concepts/product-billing/github-a'GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners'; 'Larger runners are always charged for, even when used by public repositories'
2026-10-22docs.github.com/en/actions/reference/limitsJob execution time 6 hours on GitHub-hosted and 5 days self-hosted; 35 days per workflow run; 256 jobs per matrix per run; 500 KB workflow file; 20 concurrent jobs on Free and 5 macOS; 500 MB artifact storage, 2,000 minutes and 10 GB cache per repository on Free
2026-10-22docs.github.com/en/actions/reference/runners/github-hosted-rubuntu-latest is 4 vCPU, 16 GB RAM, 14 GB SSD; ubuntu-slim is 1 vCPU and 5 GB
2026-10-22docs.github.com/en/actions/reference/workflows-and-actions/d10 GB per repository by default; any cache entry not accessed in over 7 days is removed; beyond the limit the oldest entries are evicted
2026-10-22docs.github.com/en/actions/how-tos/manage-workflow-runs/remo'By default, GitHub stores build logs and artifacts for 90 days'
2026-10-30docs.github.com/en/actions/reference/limitsa job on a GitHub-hosted runner is capped at 6 hours
2026-10-30docs.github.com/en/actions/reference/runners/github-hosted-rstandard GitHub-hosted runners have no minute cap and no charge on a public repository
2026-10-30docs.github.com/en/actions/reference/limitsGitHub Free allows 20 concurrent jobs on standard GitHub-hosted runners, 5 of them macOS
2026-10-30docs.github.com/en/actions/reference/runners/github-hosted-ron a public repository ubuntu-latest is 4 vCPU, 16 GB RAM and 14 GB SSD
2026-10-30docs.github.com/en/get-started/start-your-journey/creating-aa GitHub account needs a verified email address
2026-10-30docs.github.com/en/billing/concepts/product-billing/github-aGitHub Free includes 500 MB of artifact storage, USD 12 of compute usage a month and 10 GB of cache per repository
2026-11-03docs.github.com/en/actions/reference/runners/github-hosted-rstandard GitHub-hosted runners on a public repository have no minute cap and no charge
2026-11-03docs.github.com/en/actions/reference/runners/github-hosted-ron a public repository ubuntu-latest is 4 vCPU, 16 GB RAM and 14 GB SSD
2026-11-03docs.github.com/en/get-started/start-your-journey/creating-aa GitHub account with a verified email address is the registration requirement