$ ~/cicdcalculator

CI/CD cost at 25,000 build minutes per month, 2026
./tier --monthly-mins=25000 --25-dev-team

Twenty-five thousand monthly Linux build minutes is the typical CI consumption of a 20-25 developer engineering team running 6-8 minute builds on every pull request push. It is the volume at which the differences between CI/CD pricing models become most visible: per-minute platforms start to bill noticeable overage, self-hosted starts to look financially attractive, and the seat-fee-plus-allowance model on platforms like GitLab Premium begins competing with the per-minute model on Actions and CircleCI. This page walks through what each major platform charges at exactly 25,000 monthly minutes in 2026.

All numbers below assume Linux 2-core hosted runners, a 25-person team where seat fees apply, and 25,000 monthly minutes total. Source pricing pulled from each vendor's pricing page in May 2026.

Side-by-side at 25,000 minutes

PlatformPlanSeats (25 users)ComputeTotal / mo
GitHub ActionsTeam$100$132 (22K over 3K free @ $0.006)$232
GitLab CIPremium$725$150 (15K over 10K)$875
CircleCIPerformance$315 (user charges)$135 (220K credits over 30K incl)$450
Bitbucket PipelinesPremium$181 (25 x $7.25)$215 (21.5K over 3.5K)$396
BuildkitePro$750 (25 x $30)$180 (4 EC2 agents)$930
JenkinsSelf-hosted$0$200 (controller + agents)$200 + admin
TeamCityServer (8 agents)$0$340 / mo amortised$340 + infra + admin

# Self-hosted totals exclude operator time (4-8 hrs/mo at this scale = $600-1,200/mo implicit cost). Bitbucket assumes Premium for higher included allowance.

The cheapest options at this tier

Self-hosted Jenkins or Drone CI on AWS at around $200 per month is the cheapest direct-cost answer. Add the implicit operator cost and the picture becomes more nuanced; at this volume, hosted platforms are competitive once full-cost accounting is honest.

Among hosted options, GitHub Actions Team at around $232 per month is now the clear leader since the January 2026 rate cut took Linux overage to $0.006 per minute. Bitbucket Pipelines Premium lands around $396 with its $0.01-per-minute overage and $7.25 seats. Unless the team is already deep in the Atlassian stack, the Actions price advantage at this volume is large enough to matter.

CircleCI Performance at around $450 per month sits mid-pack: $315 in active-user charges for 25 developers, plus roughly $135 in credit packs for the 220,000 credits the workload needs beyond the included 30,000. The credit pool is org-level, not per user, so the old assumption that more seats buy more included compute does not hold.

Where the seat-fee model loses

GitLab Premium at $725 per month for 25 seats is hard to justify at 25,000 monthly minutes unless you specifically need the Premium feature set (advanced merge approvals, value-stream analytics, deploy environments). The seat premium versus GitHub Actions Team is roughly 7x at this scale, which is real money. Most teams that pick GitLab Premium do so because they want the features, not because the CI/CD pricing is competitive.

Buildkite Pro at $930 per month is markedly more expensive than per-minute hosted alternatives at this volume. Buildkite's value proposition is volume-dependent: the per-seat-plus-BYO model needs well over 100,000 monthly Linux minutes to beat GitHub Actions at $0.006 per minute. At exactly 25K minutes, Buildkite is competitive only for teams who specifically benefit from its strengths (mobile Mac fleets, data-residency, very high parallelism on stable agent pools).

Decision rules at 25,000 minutes

Default to GitHub Actions Team if you are on GitHub for source. The pricing is competitive, the ecosystem is enormous, and the operational simplicity at this scale is hard to beat. Reach for self-hosted runners (free at the platform level) when build volume keeps climbing past this tier.

Default to GitLab CI Free with self-hosted runners if you are on GitLab. The Premium plan only makes sense if you actually need Premium features. Premium for the CI/CD allowance alone is overpriced at this scale.

Consider self-hosted Jenkins or Drone if you have an existing platform-engineering function and want to consolidate CI/CD into infrastructure you already operate. Below this scale the operator cost dominates; above this scale self-hosted increasingly wins.

Skip Buildkite at this exact tier unless you ship iOS or have data-residency needs. Buildkite is a strong long-term commitment but does not earn its premium at 25K minutes for typical Linux-only workloads.

Optimisation before upgrading

Before moving to a more expensive tier, optimise. Aggressive dependency caching typically cuts billable minutes by 30-50 percent. Conditional jobs (skip frontend tests on backend-only PRs) often add another 10-20 percent. Right-sized runners (a 4-core finishing in 4 minutes can be cheaper than a 2-core in 12 minutes) help further. Many teams that think they have a 25,000-minute workload actually have a 12,000-minute workload after a careful optimisation pass.

See the cost optimization deep dive for the ten techniques that move the needle most. Most are platform-agnostic and apply equally to GitHub Actions, GitLab CI, CircleCI and self-hosted Jenkins.

Other tiers and platform deep dives

Frequently Asked Questions

# click any question to expand

Why is 25,000 monthly minutes the right benchmark?>
It is the build volume of a typical 20-25 person engineering team running a moderately complex pipeline (4-6 stages, 8 minute average) on every push. The number falls just outside the GitHub Actions Team plan free allowance and inside the GitLab Premium allowance, which makes the cost differences between platforms most visible. Smaller teams sit below this; larger teams or test-heavy teams sit above.
Which platform wins at 25K minutes?>
Self-hosted runners on any platform win on raw cost ($150-200 per month for the infrastructure plus $300-600 in operator time). Among hosted-only options, GitHub Actions Team is clearly cheapest at around $230 per month for a 25-dev team since the January 2026 rate cut ($100 in seats plus $132 of overage at $0.006 per minute). Bitbucket Pipelines Premium lands around $400, CircleCI Performance around $450, and GitLab Premium much higher on seat fees.
When does Buildkite become competitive?>
Well above this volume. At 25,000 minutes Buildkite Pro for a 25-dev team is around $930 ($750 in seats at $30 per user plus $180 in agent compute), roughly 4x GitHub Actions Team. Linux-only build volume needs to climb well past 100,000 monthly minutes before the flat-seat model catches up with GitHub's $0.006-per-minute rate. iOS-shipping teams flip the math much sooner because hosted macOS is so expensive everywhere.
Is self-hosted worth it at 25K minutes?>
Marginal. The dollar saving is real (around $200-300 per month versus the cheapest hosted option) but the operator time required (4-8 hours monthly) often eats the saving when costed at full engineering rates. Self-hosted makes more obvious sense at higher volume, or for teams where the operator time is absorbed into existing platform-engineering capacity rather than being a marginal hire decision.
What about hybrid setups?>
Hybrid (hosted for PR checks plus self-hosted for big pipelines) starts to make sense around this volume. The hosted side handles elastic peak load and short jobs; the self-hosted side handles the bulky integration tests and release builds. Hybrid is operationally more complex than either pure model but absorbs the strengths of both.
How does macOS in the mix change the math?>
Dramatically. If 5,000 of the 25,000 monthly minutes are macOS, hosted-platform costs roughly double. GitHub Actions macOS at $0.062 per minute (all-in) adds $310 to the bill on top of the Linux baseline; CircleCI's M4 Pro Macs at $0.12 per minute add $600. Self-hosted Mac minis on Buildkite or GitHub Actions add roughly $50-75 per Mac mini per month and absorb the same workload. For mobile teams running serious build volume, self-hosted Mac is the answer almost regardless of other considerations.
Can I optimise the build to drop below 25K minutes?>
Often yes. The biggest wins are dependency caching (npm, gradle, pip caches typically halve install time), conditional jobs (skip frontend tests on backend-only PRs), test parallelism with proper rebalancing, and right-sizing runners (a 4-core machine that finishes in 4 minutes can be cheaper than a 2-core in 12). Most teams that optimise carefully cut billable minutes by 30-50 percent. See the cost optimization deep dive for ten proven techniques.