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.

Three rules to remember

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.

PlatformBilling unitEntry tierMain tierOverageMain boundary
GitHub ActionsSeats + compute dollar allowanceFree 0, 2,000 minutes/monthTeam 4/user/month, 18 computeLinux 0.006/minutemacOS 0.062/minute; storage separate
GitLab CI/CDSeats + minutesFree 0, 400 minutes/monthPremium 29/user/month, 10,000 minutes10 per 1,000 minutesUltimate custom; self-hosted runners unlimited
CircleCIUsers + creditsFree 0, 6,000 minutes (Small Docker)Performance from 15/month, 30,000 credits15 per 25,000 creditsLinux 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.

ItemGitHubGitLabCircleCI
Free tier0; 2,000 minutes; 12 compute0; 400 minutes; 5 users0; 6,000 minutes (Small Docker); 5 users
Team tierTeam 4/user/month; 3,000 minutes; 18 computePremium 29/user/month; 10,000 minutesPerformance from 15/month; 30,000 credits
Enterprise tierEnterprise 21/user/month; 50,000 minutes; 300 computeUltimate custom; 50,000 minutesScale custom
Extra Linux minute0.006/minute (2-core)10 per 1,000 minutes = 0.01/minute15 per 25,000 credits ≈ 0.006/minute (Linux Medium)
Extra storage0.25/GB/month; cache 0.07/GB/month5/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/tierSeat priceIncluded Linux minutesExtra Linux minuteMarginal $/minute
GitHub Team4/user/monthAbout 3,000 (18 compute)0.0060.006
GitHub Enterprise21/user/monthAbout 50,000 (300 compute)0.0060.006
GitLab Premium29/user/month (annual)10,000/group0.010.01
CircleCI PerformanceFrom 15/month (5 users)About 3,000 (30,000 credits)0.0060.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 usageGitHub TeamGitHub EnterpriseGitLab PremiumCircleCI PerformanceLowest
5 users / 10k minutes6210514560CircleCI
10 users / 10k minutes8221029090GitHub Team
5 users / 50k minutes302105545300GitHub Enterprise
10 users / 50k minutes322210690300GitHub Enterprise
20 users / 10k minutes122420580240GitHub 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 scenarioGitHub TeamGitHub EnterpriseGitLab PremiumCircleCI PerformanceLowest
5 users / 10k minutes7441,2601,740720CircleCI
10 users / 10k minutes9842,5203,4801,080GitHub Team
5 users / 50k minutes3,6241,2606,5403,600GitHub Enterprise
10 users / 50k minutes3,8642,5208,2803,600GitHub Enterprise
20 users / 10k minutes1,4645,0406,9602,880GitHub 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.

ItemGitHubGitLabCircleCI
Storage overage0.25/GB/month; cache 0.07/GB/month5/month per 10GiB (annual)420 credits/GB ≈ 0.252/GB
Non-Linux runnersWindows 0.010; macOS 0.062/minuteBy runner/resource class and contractBy resource-class credits; macOS/GPU higher
Cache/add-onsCache storage separateStorage separateDLC 200 credits/job; IP ranges 450 credits/GB
Self-hosted runnersNo per-minute fee; infrastructure yoursNo compute minutes; infrastructure yoursNo per-minute fee; egress separate
Tax/support/migrationExcludedExcludedExcluded; 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.

CapabilityGitHubGitLabCircleCI
Code hosting + CIIntegratedIntegratedCI-first; connects to GitHub/GitLab/Bitbucket
Free/entryFree 2,000 minutes; public repos freeFree 400 minutes; 5 usersFree 6,000 minutes (Small Docker); 5 users
Included usageTeam 18 compute; Enterprise 300Premium 10,000; Ultimate 50,00030,000 credits; extra user adds 25,000
Self-hosted runnersSupported; no per-minute feeSupported; no compute minutesSupported; no per-minute fee, egress separate
StrengthRepo/PR/ecosystem, macOS/WindowsDevSecOps, security/compliance, self-hostedFlexible 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.

Turn seats, included minutes, overage and storage into a checkable budget

Bring team size, Linux/Windows/macOS minutes, included allowance, peak month, storage/cache, self-hosted runners and contract terms; we turn the CI/CD bill into a checkable list.

Book a CI/CD cost review