GitHub Free 2,000 Actions minutes: when indies should buy Team
Use official Free walls—2,000 CI/CD minutes and 500MB Packages—to decide when private-repo automation needs Team at $4 per user/month.
When indies hang tests and deploys on GitHub Actions, Free often works until private-repo minutes and Packages storage start paging you. The pain is rarely Issues. It is the 2,000 CI/CD minutes per month, 500MB of Packages, and whether Team at $4 per user per month for 3,000 minutes and 2GB is worth it. This page does not re-teach shipping with Issues/Projects or Copilot free completion limits. It freezes Free versus Team Actions/Packages numbers from github.com/pricing on 2026-10-02. Re-check the pricing page and Actions billing docs before checkout; multipliers and overage rates move.
Which Free numbers to freeze
Pricing labels Free at $0 per month. On the observation day it includes unlimited public/private repositories, 2,000 CI/CD minutes/month (noted free for public repositories), 500MB of Packages storage (also free for public repositories), Issues & Projects, and community support. The comparison table repeats Actions at 2,000 minutes/month and Packages at 500 MB on Free. For solos, public open-source Actions minutes are free per the page notes; private product repos with chatty CI, matrices, and large artifacts are what burn the included pool.
Free can still power serious automation: lint, tests, and preview deploys can all be proven. Treat private-repo minutes as scarce quota, not infinite CI. Put 2,000 into the pipeline budget so every tiny push does not explode a matrix.
Which walls Team mainly removes
Team is priced at $4 USD per user/month. Versus Free, Actions rises to 3,000 minutes/month and Packages to 2GB, alongside richer collaboration and protection features (required reviewers, code owners, draft pull requests, repository rules, and more per the page). For indies, the first payment sometimes buys “one thousand more minutes + larger Packages,” and sometimes buys branch protection and review workflow—do not merge those reasons. If you need ~50,000 minutes or enterprise governance, look at Enterprise (from $21 per user/month on the page) instead of expecting Team to become an enterprise quota.
If the pain is occasional timeouts, try fewer parallel jobs, dependency caches, or self-hosted runners before paying for minutes. Self-hosted and overage details belong in the Actions billing docs; this page does not invent per-minute dollar bills.
Signals that Free should step aside
Upgrade when private CI exhausts 2,000 minutes mid-month and blocks merges; Packages nears 500MB even after cleanup; you need Team-table protections such as required reviewers/CODEOWNERS rather than minutes alone; the pipeline cannot live on a public repo (closed product). You can also upgrade before promising customers “every PR is tested,” so minute headroom is part of reliability.
Stay on Free when main repos are public with free minutes, private CI is thin, Packages usage is low, and lighter social agreements can replace paid protection features. After upgrading, verify Actions/Packages in billing usage, add path filters and caches to critical workflows, and confirm whether collaborator seats are truly needed. Price against the live $4/user/month row.
Spend Free minutes on the sharp edge
Run full suites on PRs and default branches; keep experiment branches light. Shrink OS matrices; cache installs. Push artifacts to external object storage instead of filling Packages. Merge docs and preview jobs to avoid duplicate checkouts. If macOS/Windows runners burn minutes oddly fast, read billing multiplier notes before upgrading or switching runners. Writing a minute budget into CONTRIBUTING is cheaper than incident response.
Keep this separate from shipping and Copilot posts
Toolvori already has a GitHub shipping workflow article and a Copilot Free limits article. Those answer collaboration cadence and completion quotas. This page answers Actions minutes and Packages walls. Snapshot the official numbers with the observation date. Next time someone says “GitHub free CI is unlimited,” ask whether the repo is private and whether you exceed 2,000 minutes—not only whether public repos are free.
Tools in this guide
