Direct answer: for one organization, Linux 2-core shared runners, monthly list prices, excluding tax and self-hosted infrastructure, 2026 CI/CD costs are roughly: 5 developers / 10k minutes, CircleCI Performance 60, GitHub Team 62, GitHub Enterprise 105, GitLab Premium 145; 10 developers / 10k minutes, GitHub Team 82, CircleCI 90, GitHub Enterprise 210, GitLab Premium 290; 5 developers / 50k minutes, GitHub Enterprise 105, CircleCI 300, GitHub Team 302, GitLab Premium 545; 10 developers / 50k minutes, GitHub Enterprise 210, CircleCI 300, GitHub Team 322, GitLab Premium 690. GitHub and CircleCI both have a Linux marginal minute of about 0.006 USD; GitLab’s extra minute is 0.01 USD, but Premium includes 10,000 minutes. The decision is not “who has the cheapest minute”; it is which of seat price + included minutes + overage reaches its inflection point first.
This guide is for engineering, platform and procurement teams choosing CI/CD, migrating from Jenkins or renewing a contract. Data cut-off: 5 November 2026; prices are the three vendors’ public US list prices from official pricing pages/billing docs, in USD, excluding tax, with no FX conversion; the TCO is an editorial calculation, not a vendor quote. All three charge “seats + compute usage”, but the units differ: GitHub uses seats + a dollar compute allowance, GitLab uses seats + minutes, and CircleCI uses users + credits. Comparing only the per-minute price misses seats and included usage.
GitHub has the cheapest seat (Team 4/user/month) but only 18 USD of included compute; GitLab has the priciest seat (Premium 29/user/month) and includes 10,000 minutes; CircleCI starts at 15/month for 5 users and includes 30,000 credits (about 3,000 Linux Medium minutes). At 5 users/10k minutes the gap is only 2 USD (CircleCI 60 vs GitHub Team 62); at 10 users/50k minutes it runs from GitHub Enterprise 210 to GitLab 690, more than 3x.
Three billing models: compute allowance, minutes, credits
GitHub is “seats + compute allowance”: Team is 4/user/month with 18 USD of compute (about 3,000 Linux 2-core minutes); Enterprise is 21/user/month with 300 USD of compute (about 50,000 Linux minutes); overage is billed by runner minute, Linux 2-core 0.006, Windows 2-core 0.010 and macOS 0.062. GitLab is “seats + minutes”: Free has 400 minutes/month and 5 users; Premium is 29/user/month (annual) with 10,000 minutes per group; Ultimate is custom with 50,000 minutes; extra compute is 10 per 1,000 minutes and storage is 5/month per 10GiB (annual). CircleCI is “users + credits”: Free is 0 with up to 6,000 build minutes (Small Docker) and 5 users; Performance starts at 15/month with 30,000 credits and 5 users; extra 25,000 credits cost 15, an extra user costs 15/month and adds 25,000 credits; Linux Medium is 10 credits/minute.
| Platform | Billing unit | Entry tier | Main tier | Overage | Main boundary |
|---|---|---|---|---|---|
| GitHub Actions | Seats + compute dollar allowance | Free 0, 2,000 minutes/month | Team 4/user/month, 18 compute | Linux 0.006/minute | macOS 0.062/minute; storage separate |
| GitLab CI/CD | Seats + minutes | Free 0, 400 minutes/month | Premium 29/user/month, 10,000 minutes | 10 per 1,000 minutes | Ultimate custom; self-hosted runners unlimited |
| CircleCI | Users + credits | Free 0, 6,000 minutes (Small Docker) | Performance from 15/month, 30,000 credits | 15 per 25,000 credits | Linux Medium 10 credits/minute; resource class changes minutes |
Sources: GitHub Plans, GitHub Actions billing, GitLab Pricing and CircleCI Pricing (all accessed 5 November 2026). This is editorial grouping, not a vendor taxonomy; “main tier” covers only public prices and does not judge feature completeness, concurrency, caching or support response.
The official 2026 price list: seats, included minutes, overage
GitHub: Free 0, 2,000 minutes/month, 12 USD compute; Team 4/user/month, 3,000 minutes/month, 18 USD compute; Enterprise 21/user/month, 50,000 minutes/month, 300 USD compute. Linux 1-core 0.002, Linux 2-core 0.006, Linux 2-core arm64 0.005, Windows 2-core 0.010 and macOS 0.062 USD/minute; shared storage 0.25/GB/month and Actions cache 0.07/GB/month. GitLab: Free 0, 400 minutes/month, 10GiB; Premium 29/user/month (annual), 10,000 minutes/group, 500GiB; Ultimate custom, 50,000 minutes, 500GiB; extra compute 10 per 1,000 minutes, storage 5/month per 10GiB (annual). CircleCI: Free 0, 6,000 minutes (Small Docker), 5 users; Performance from 15/month, 30,000 credits, 5 users; extra 25,000 credits 15, extra user 15/user/month; Linux Medium 10 credits/minute; Scale custom.
| Item | GitHub | GitLab | CircleCI |
|---|---|---|---|
| Free tier | 0; 2,000 minutes; 12 compute | 0; 400 minutes; 5 users | 0; 6,000 minutes (Small Docker); 5 users |
| Team tier | Team 4/user/month; 3,000 minutes; 18 compute | Premium 29/user/month; 10,000 minutes | Performance from 15/month; 30,000 credits |
| Enterprise tier | Enterprise 21/user/month; 50,000 minutes; 300 compute | Ultimate custom; 50,000 minutes | Scale custom |
| Extra Linux minute | 0.006/minute (2-core) | 10 per 1,000 minutes = 0.01/minute | 15 per 25,000 credits ≈ 0.006/minute (Linux Medium) |
| Extra storage | 0.25/GB/month; cache 0.07/GB/month | 5/month per 10GiB (annual) | 420 credits/GB ≈ 0.252/GB |
Sources: GitHub Plans (Free/Team/Enterprise and included minutes), GitHub Actions billing (Linux/Windows/macOS minute rates, included compute dollars, storage), GitLab Pricing (Free/Premium/Ultimate, 10,000/50,000 minutes, extra compute 10/1,000, storage 5/10GiB) and CircleCI Pricing (Free/Performance/Scale, 30,000 credits, 15/25,000, user 15/month, Linux Medium 10 credits/minute, 420 credits/GB). Accessed 5 November 2026; USD, excluding tax; CircleCI’s “≈0.006/minute” converts 15/25,000 credits and varies by resource class.
Normalize the units: cost per Linux minute
GitHub Linux 2-core is 0.006/minute; GitLab extra is 0.01/minute; CircleCI Linux Medium is 10 credits/minute, which at 15/25,000 credits is 0.0006/credit or 0.006/minute. The three “marginal minutes” are not the same thing: GitHub Team includes only 18 USD of compute (about 3,000 minutes), GitLab Premium includes 10,000 minutes per group, and CircleCI Performance includes 30,000 credits (about 3,000 minutes for 5 users). GitHub/CircleCI minute prices are close; GitLab is 67% higher, but includes more minutes and a different platform.
| Platform/tier | Seat price | Included Linux minutes | Extra Linux minute | Marginal $/minute |
|---|---|---|---|---|
| GitHub Team | 4/user/month | About 3,000 (18 compute) | 0.006 | 0.006 |
| GitHub Enterprise | 21/user/month | About 50,000 (300 compute) | 0.006 | 0.006 |
| GitLab Premium | 29/user/month (annual) | 10,000/group | 0.01 | 0.01 |
| CircleCI Performance | From 15/month (5 users) | About 3,000 (30,000 credits) | 0.006 | 0.006 |
Sources: GitHub Actions billing (0.006/minute, 18/300 compute), GitLab Pricing (10,000 minutes, 10/1,000) and CircleCI Pricing (Linux Medium 10 credits/minute, 15/25,000). Accessed 5 November 2026; USD, excluding tax; “included Linux minutes” uses Linux 2-core/Linux Medium, while Windows/macOS/GPU differ. GitLab Ultimate is custom and not modeled.
5/10/20 developers × 10k/50k minutes: monthly TCO
Adding seat fees + overage minutes (or credits): 5 developers/10k minutes, CircleCI 60, GitHub Team 62, GitHub Enterprise 105, GitLab Premium 145; 10 developers/10k, GitHub Team 82, CircleCI 90, GitHub Enterprise 210, GitLab Premium 290; 5 developers/50k, GitHub Enterprise 105, CircleCI 300, GitHub Team 302, GitLab Premium 545; 10 developers/50k, GitHub Enterprise 210, CircleCI 300, GitHub Team 322, GitLab Premium 690; 20 developers/10k, GitHub Team 122, CircleCI 240, GitHub Enterprise 420, GitLab Premium 580. Low minutes favor cheap seats; high minutes favor included compute/minutes; GitHub Enterprise’s 300 USD compute is the inflection point at 50k minutes.
| Team / monthly usage | GitHub Team | GitHub Enterprise | GitLab Premium | CircleCI Performance | Lowest |
|---|---|---|---|---|---|
| 5 users / 10k minutes | 62 | 105 | 145 | 60 | CircleCI |
| 10 users / 10k minutes | 82 | 210 | 290 | 90 | GitHub Team |
| 5 users / 50k minutes | 302 | 105 | 545 | 300 | GitHub Enterprise |
| 10 users / 50k minutes | 322 | 210 | 690 | 300 | GitHub Enterprise |
| 20 users / 10k minutes | 122 | 420 | 580 | 240 | GitHub Team |
Editorial calculation, not a quote. Formulas: GitHub Team = 4×users + max(0, minutes×0.006 − 18); GitHub Enterprise = 21×users + max(0, minutes×0.006 − 300); GitLab Premium = 29×users + max(0, minutes−10,000)×0.01; CircleCI = 15 + max(0, users−5)×15 + 15×ceil(max(0, minutes×10 − 30,000 − max(0, users−5)×25,000)/25,000). USD/month, excluding tax, storage, Windows/macOS, self-hosted runners, support/migration; annual prices use 12 months.
Annualized: the gap is multiplied by 12
Multiplying the table by 12: 5 users/10k minutes, CircleCI 720, GitHub Team 744, GitHub Enterprise 1,260, GitLab Premium 1,740; 10 users/10k, GitHub Team 984, CircleCI 1,080, GitHub Enterprise 2,520, GitLab Premium 3,480; 5 users/50k, GitHub Enterprise 1,260, CircleCI 3,600, GitHub Team 3,624, GitLab Premium 6,540; 10 users/50k, GitHub Enterprise 2,520, CircleCI 3,600, GitHub Team 3,864, GitLab Premium 8,280; 20 users/10k, GitHub Team 1,464, CircleCI 2,880, GitHub Enterprise 5,040, GitLab Premium 6,960.
| Annual scenario | GitHub Team | GitHub Enterprise | GitLab Premium | CircleCI Performance | Lowest |
|---|---|---|---|---|---|
| 5 users / 10k minutes | 744 | 1,260 | 1,740 | 720 | CircleCI |
| 10 users / 10k minutes | 984 | 2,520 | 3,480 | 1,080 | GitHub Team |
| 5 users / 50k minutes | 3,624 | 1,260 | 6,540 | 3,600 | GitHub Enterprise |
| 10 users / 50k minutes | 3,864 | 2,520 | 8,280 | 3,600 | GitHub Enterprise |
| 20 users / 10k minutes | 1,464 | 5,040 | 6,960 | 2,880 | GitHub Team |
Editorial calculation, monthly table ×12; excludes tax, discounts, annual/monthly differences, storage, Windows/macOS, self-hosted runners, support, migration and training. GitHub/GitLab public prices are annual-billed; CircleCI credits are purchased monthly, so annualization is a 12-month equal estimate.
Hidden costs: storage, macOS, DLC, network, self-hosted
All three public prices exclude tax, migration, training and support. GitHub storage beyond the allowance is 0.25/GB/month shared and 0.07/GB/month for Actions cache; macOS 0.062/minute is more than 10x Linux, and Windows 0.010 is also above Linux 0.006. GitLab extra compute is 10/1,000 minutes and storage 5/month per 10GiB; self-hosted runners do not consume compute minutes, but you own the servers and operations. CircleCI credits are also consumed by Docker Layer Caching (200 credits/job, about 0.12), IP ranges (450 credits/GB) and network/storage overage (420 credits/GB, about 0.252/GB); self-hosted runners have no per-minute fee but egress is separate. Self-hosted runners are not “zero cost” at any of the three; the bill moves to infrastructure and people.
| Item | GitHub | GitLab | CircleCI |
|---|---|---|---|
| Storage overage | 0.25/GB/month; cache 0.07/GB/month | 5/month per 10GiB (annual) | 420 credits/GB ≈ 0.252/GB |
| Non-Linux runners | Windows 0.010; macOS 0.062/minute | By runner/resource class and contract | By resource-class credits; macOS/GPU higher |
| Cache/add-ons | Cache storage separate | Storage separate | DLC 200 credits/job; IP ranges 450 credits/GB |
| Self-hosted runners | No per-minute fee; infrastructure yours | No compute minutes; infrastructure yours | No per-minute fee; egress separate |
| Tax/support/migration | Excluded | Excluded | Excluded; support add-on |
Sources: GitHub Actions billing (storage, Linux/Windows/macOS minute rates), GitLab Pricing (extra compute, storage, self-hosted runners not consuming compute minutes) and CircleCI Pricing (420 credits/GB, DLC 200 credits/job, IP ranges 450 credits/GB, self-hosted runners not billed per minute). Accessed 5 November 2026; USD, excluding tax; “by resource class/contract” means no single public price, so confirm and do not guess.
Capabilities and boundaries: not only price
GitHub is strong on repository/PR/Actions integration, cheap Team seats, free minutes for public repositories and a broad macOS/Windows runner choice; GitLab is strong on integrated DevSecOps, Premium’s 10,000 minutes, unlimited self-hosted runner minutes and Ultimate security/compliance; CircleCI is strong on flexible credits, a 5-user start, resource/concurrency choices and add-ons such as DLC and smarter testing. For “repository + CI, many seats”: GitHub; for “DevSecOps + self-hosted runners”: GitLab; for “usage-based, small team start”: CircleCI.
| Capability | GitHub | GitLab | CircleCI |
|---|---|---|---|
| Code hosting + CI | Integrated | Integrated | CI-first; connects to GitHub/GitLab/Bitbucket |
| Free/entry | Free 2,000 minutes; public repos free | Free 400 minutes; 5 users | Free 6,000 minutes (Small Docker); 5 users |
| Included usage | Team 18 compute; Enterprise 300 | Premium 10,000; Ultimate 50,000 | 30,000 credits; extra user adds 25,000 |
| Self-hosted runners | Supported; no per-minute fee | Supported; no compute minutes | Supported; no per-minute fee, egress separate |
| Strength | Repo/PR/ecosystem, macOS/Windows | DevSecOps, security/compliance, self-hosted | Flexible credits, resource classes, DLC/testing |
Sources: GitHub Plans/Actions billing, GitLab Pricing and CircleCI Pricing (accessed 5 November 2026). This is an editorial comparison, not a full feature list; actual concurrency, cache hit rate, runner start time, support response and migration effort were not tested.
Which option fits which scenario?
5 users/10k minutes: CircleCI 60 and GitHub Team 62 are nearly tied; choose GitHub for repository/PR integration and CircleCI for credit flexibility. 10 users/10k: GitHub Team 82 lowest; CircleCI 90; GitLab 290. 5–10 users/50k: GitHub Enterprise 105–210, CircleCI 300, GitHub Team 302–322; high minutes favor Enterprise. 20 users/10k: GitHub Team 122, CircleCI 240, GitLab 580. GitLab fits teams already using its DevSecOps/self-hosted runners, not teams buying only CI minutes.
- 5 users, up to 10k minutes: CircleCI 60 or GitHub Team 62; a 2 USD gap, so choose by repository/PR ecosystem and team habits.
- 10 users, 10k minutes: GitHub Team 82 lowest; CircleCI 90 close; GitLab Premium 290 is mostly seats/platform.
- 5 users, 50k minutes: GitHub Enterprise 105 lowest; CircleCI 300; GitHub Team 302; GitLab 545.
- 10 users, 50k minutes: GitHub Enterprise 210; CircleCI 300; GitHub Team 322; GitLab 690.
- 20 users, 10k minutes: GitHub Team 122; CircleCI 240; GitHub Enterprise 420; GitLab 580.
- macOS/iOS builds: recalculate with GitHub macOS 0.062/minute or the CircleCI resource class; do not use Linux 0.006.
- Self-hosted runners: GitLab does not consume compute minutes; GitHub/CircleCI have no per-minute fee, but servers, network and operations count.
- DevSecOps/compliance: GitLab Premium/Ultimate; repository+CI: GitHub; credits/resource classes: CircleCI.
What should procurement and acceptance specify?
At least eight things: seat count and active-user definition, Linux/Windows/macOS minute mix, included minutes/allowance, overage price, storage/cache/network, self-hosted runners, concurrency/resource class and contract/annual/exit. Use a 2–4 week POC with real pipelines and record queueing, startup, execution, cache hit rate, failed re-runs, storage and the bill; do not decide on “per-minute price” alone.
- Seats: whether developers, read-only users and bots/service accounts consume seats; confirm GitLab/CircleCI “active user” definitions.
- Minute mix: how many Linux/Windows/macOS minutes; macOS can be 10x Linux.
- Included allowance: GitHub compute dollars, GitLab minutes/group, CircleCI credits/user; confirm monthly reset.
- Overage: GitHub 0.006, GitLab 0.01, CircleCI 15/25,000 credits; calculate on the peak month.
- Storage/network: artifacts, cache, DLC, IP ranges, egress; these are not in “minutes”.
- Self-hosted: runner servers, Kubernetes, network, patching, concurrency; compare with cloud runners’ operations cost.
- Contract: annual/monthly, minimum, discounts, support, exit/migration; GitLab Ultimate is custom.
- POC: 2–4 weeks of real pipelines; record queue/start/run, cache, failed re-runs and the bill.
FAQ
5 users / 10k minutes: what is cheapest?
CircleCI Performance 60, GitHub Team 62, GitHub Enterprise 105, GitLab Premium 145. CircleCI and GitHub differ by only 2 USD; choose GitHub for repository/PR integration and CircleCI for credits/resource classes. GitLab’s 145 is mostly 5×29 seats.
What about 10 users / 10k minutes?
GitHub Team 82 is lowest; CircleCI 90; GitHub Enterprise 210; GitLab Premium 290. GitHub’s 4/user/month seat is the cheapest, and 18 compute covers 3,000 minutes; 10k minutes means 7,000 overage at 42.
What about 5 users / 50k minutes?
GitHub Enterprise 105 is lowest because 5×21 seats plus 300 compute exactly cover 50k Linux minutes; CircleCI 300, GitHub Team 302, GitLab 545. Without Enterprise governance/security, Team + overage is only 2 USD more (302 vs 300), but Enterprise’s 300 compute is more predictable.
What about 10 users / 50k minutes?
GitHub Enterprise 210; CircleCI 300; GitHub Team 322; GitLab Premium 690. Enterprise’s 300 compute covers 50k minutes and 10 seats cost 210; CircleCI’s 10 users include 155,000 credits and still need 14 blocks of 25,000, totaling 300.
Why is GitLab so much more expensive than GitHub?
Different models: GitLab Premium is 29/user/month with 10,000 minutes/group; GitHub Team is 4/user/month with 18 compute (about 3,000 minutes). At 10 users/50k, GitLab is 290 seats + 400 overage = 690; GitHub Enterprise is 210 all-in. GitLab’s value is DevSecOps/compliance/self-hosted runners, not the lowest CI minute price.
Why is GitHub Enterprise cheaper at 50k minutes?
Enterprise is 21/user/month with 300 compute, which at Linux 0.006/minute covers 50,000 minutes; 5 users 105, 10 users 210. At low minutes it is more expensive than Team (5 users/10k: 105 vs 62), so it only pays off at high minutes, few seats or when you need governance.
Which has the cheapest minute?
Linux 2-core: GitHub 0.006, CircleCI Linux Medium 0.006, GitLab extra 0.01. Windows: GitHub 0.010; macOS: GitHub 0.062. GitLab’s 0.01 is the extra-minute price and Premium includes 10,000 minutes, so do not compare marginal price alone.
What other hidden costs exist?
GitHub storage 0.25/GB/month and cache 0.07/GB/month; GitLab extra compute 10/1,000 and storage 5/10GiB; CircleCI network/storage 420 credits/GB, DLC 200 credits/job and IP ranges 450 credits/GB. All three exclude tax, migration, training and self-hosted runner infrastructure.
Research method and limitations
This article separates “official facts” from “editorial modelling”: seat prices, included minutes/compute/credits, overage and storage prices come from the three official pricing pages/billing docs; the TCO is arithmetic for one organization, Linux 2-core/Linux Medium, monthly list prices and the stated user/minute counts, not a vendor quote. It does not compare actual concurrency, cache hit rate, runner startup time, support response or migration effort.
Eight limitations: (1) only US public list prices are used, excluding tax, discounts, annual/monthly differences, support and migration; (2) only GitHub Linux 2-core and CircleCI Linux Medium are modelled, while Windows/macOS/GPU are significantly higher; (3) it assumes one organization sharing the included allowance, while multiple organizations/groups stack; (4) CircleCI credits use Linux Medium at 10 credits/minute, and other resource classes differ; (5) GitHub’s compute allowance is in dollars and minutes are converted at 0.006, while runner prices differ; (6) GitLab Ultimate is custom and not in the TCO; (7) self-hosted runners are only “no per-minute fee” and exclude servers/network/people; (8) real pipeline performance, availability, SLA and compliance were not tested. Treat this as a unit-alignment template and replace assumptions with a 2–4 week real-pipeline POC.
Sources and basis
- GitHub, Plans & Pricing: github.com/pricing. Free 0, 2,000 minutes; Team 4/user/month, 3,000 minutes; Enterprise 21/user/month, 50,000 minutes; public repository minutes free. Accessed 5 November 2026.
- GitHub, Actions billing: docs.github.com/en/billing/concepts/product-billing/github-actions. Free 12, Team 18, Enterprise 300 USD compute; Linux 1-core 0.002, Linux 2-core 0.006, arm64 0.005, Windows 0.010, macOS 0.062; shared storage 0.25/GB/month, cache 0.07/GB/month. Accessed 5 November 2026.
- GitLab, Pricing: about.gitlab.com/pricing. Free 400 minutes, 10GiB; Premium 29/user/month (annual), 10,000 minutes, 500GiB; Ultimate custom, 50,000 minutes; extra compute 10/1,000 minutes, storage 5/month per 10GiB (annual); self-hosted runners do not consume compute minutes. Accessed 5 November 2026.
- CircleCI, Pricing: circleci.com/pricing. Free 6,000 minutes (Small Docker), 5 users; Performance from 15/month, 30,000 credits, 5 users; extra 25,000 credits 15, extra user 15/user/month; Linux Medium 10 credits/minute; network/storage 420 credits/GB; DLC 200 credits/job; IP ranges 450 credits/GB. Accessed 5 November 2026.
Data cut-off 5 November 2026; prices are public list prices excluding tax; all models are editorial calculations. This is not procurement advice.