BUILD-PIPELINE LAYER · TECH-EDITORIAL SERIES
Your CI bill is a teachable moment.
A transparent cost calculator, a neutral external-runner shootout, and an engineering playbook for cutting CI spend 40-90% without slowing the team down. Companion publications for the product, engineering, and attention layers: featurebloat.com, codesmellcost.com, contextcost.com.
Interactive CI Cost Calculator
▶OVERRIDE RATES ($/min)prefilled from platform defaults
MONTHLY COST
$44
GH Actions (Hosted)
ANNUAL RUN-RATE
$527
PER ENGINEER
$4/mo
BILLED MIN/MO
2,816
COST BREAKDOWN
COMPANION PUBLICATIONS · TECH-EDITORIAL SERIES
Product layer
featurebloat.com
The cost of features nobody uses. For engineering managers who wonder why the product is slowing down.
Engineering layer
codesmellcost.com
The financial cost of technical debt. Code smells have a dollar value. Quantify and act on them.
Attention layer
contextcost.com
The cost of context switching. Every interrupt is a context switch. Every context switch has a bill.
The CI spend leaks
Most engineering organisations pay 2 to 5 times more for CI than they need to, because build optimisation is nobody's full-time job. GitHub Actions minute multipliers are quietly compounding on every repository. Nobody audits concurrency. Caching was set up once in 2019 and never revisited. Test suites run in full on every PR instead of sharded. External runners like Depot, Namespace, BuildJet, Blacksmith, and Ubicloud exist and are 40 to 90% cheaper on average, and most teams do not know they exist.
Adrian Cockcroft, formerly of Netflix and AWS, argued that cost should be a first-class architectural concern: the same way you instrument latency or error rate, you should instrument spend per unit of work. Corey Quinn of Last Week in AWS puts it this way: the cloud bill is a fossil record of every architectural decision. The same logic applies to CI. Your GitHub Actions bill is a fossil record of every workflow you have ever added, every matrix strategy nobody questioned, every macOS runner someone used because it was the default in a StackOverflow answer.
The FinOps Foundation framework defines unit-cost economics as the practice of understanding cost per meaningful unit of work, whether that is per deployment, per engineer, per feature shipped, or per test suite run. CI is the canonical unit-cost problem in engineering: it is invisible, it scales with team size, and it is optimisable. This site exists because the math is not complicated, but it is invisible, and most teams are paying for the darkness.
The seven-step optimisation stack below covers the full range from “30-minute fix” to “one-week migration.” Work through them in order. The first four are free. The last three involve a decision. In most cases, teams recover 40 to 90% of wasted spend within two weeks of starting. The consulting CTA at the bottom exists because sometimes you need someone to tell you which two anti-patterns are responsible for 80% of your bill, and do that work in two days rather than two weeks.
The seven-step optimisation stack
Add paths filter
Run workflows only when relevant files change. 20-40% typical saving.
Add concurrency gate
Cancel superseded builds when developers force-push. 20-40% saving.
Cache dependencies
npm install: 120s uncached, 5s cached. ROI is near-instant.
Switch to ARM runners
Linux ARM bills at 0.5x Linux x86 on GitHub-hosted since 2024.
GH Actions
$0.008/min
$0.004/min ARM
GitHub-native teams
CircleCI
$0.006/min
Credit system
Complex workflows
GitLab CI
$0.005/min
Shared ARM
Integrated SCM + CI
Depot
$0.004/min
$0.002/min ARM
Fastest builds, all OS
BuildJet
$0.003/min
$0.002/min ARM
ARM-first, cheapest
Azure DevOps
$0.0056/min
$0.0028/min
Microsoft-native orgs
AWS CodeBuild
$0.005/min
$0.004/min
AWS-native teams
Jenkins
Software free
Your infra
Max control, large scale
CASE-01 · Dropbox
Migrated to Bazel
50% reduction in CI compute on large C++ binaries. Build speed 10x faster.
CASE-02 · Spotify
Intelligent triggering
50% CI time reduction via affected-only workflow triggering and deep dependency caching.
CASE-03 · AirBnB
Test impact analysis
90%+ reduction in test-suite execution by running only tests affected by each PR.
DIGITAL SIGNET · PIPELINE AUDIT
Need help cutting your CI bill 40-90% without slowing the team down?
Digital Signet runs two-week pipeline cost audits. We map every job, identify the caching and concurrency gaps, model the external-runner switch, and leave you with a 90-day optimisation roadmap. One engagement pays for itself in the first month at most team sizes.
Learn about Pipeline AuditsFrequently asked questions
How much does a CI/CD pipeline cost?+
A typical team of 10 developers spends $150 to $800 per month on CI/CD depending on platform, OS mix, and caching discipline. A 3-person startup can run entirely on free tiers. A 100-person org on GitHub Actions with macOS builds can spend $5,000 to $15,000 per month. Use the calculator above to model your specific workload.
Read moreHow do I reduce my GitHub Actions bill?+
The seven-step priority stack: (1) add a paths filter, (2) add a concurrency gate, (3) cache dependencies, (4) switch to ARM runners (50% savings), (5) shard tests, (6) cache Docker layers, (7) evaluate external runners. Most teams recover 40-90% of wasted spend within two weeks.
Read moreWhat is the 2026 GitHub Actions self-hosted platform fee?+
GitHub introduced a $0.002 per minute platform fee on self-hosted runner minutes in March 2026. This materially changes the break-even calculation for self-hosted deployments and made external runners like Depot and BuildJet significantly more attractive.
Read moreShould I use Depot, BuildJet, or Blacksmith?+
Depot has the broadest OS coverage including macOS. BuildJet is the cheapest option for ARM Linux workloads. Blacksmith has strong AWS integration. Namespace has the fastest cold-boot times. The runner shootout page compares all five providers side by side with pricing data and benchmark citations.
Read moreHow much faster are ARM runners?+
GitHub-hosted ARM Linux runners bill at 0.5x the x86 Linux rate since 2024. For a pure Linux workload, switching to ARM cuts CI cost in half. Most standard web workloads (Node.js, Python, Go, Rust, Ruby) run within 5-10% of x86 performance on ARM.
Read moreHow do I attribute CI cost per team?+
Use the GitHub Actions usage API to pull per-workflow billing data. Tag workflows with team ownership via naming conventions. Roll up with Vantage or CloudZero, or use a simple aggregation script. The cost attribution page has a complete recipe.
Read more