CI cost figures are vendor list prices verified April 2026. Actual cost depends on plan, concurrency, and discount terms. Some links are affiliate links. See disclosure.

Last verified April 2026 · 10 min read

The CI cost attribution playbook

Engineering leadership is asked “which team is costing us this much in CI?” and has no answer. The bill is a single line item: $4,800/month for Actions. This page is the recipe for disaggregating it.

The FinOps Foundation framework defines unit-cost economics as understanding cost per meaningful unit of work: per deployment, per engineer, per feature. CI is the canonical unit-cost problem in engineering. This is the recipe to implement it.

§ 01

Step 1: Extract usage data

GitHub Actions usage API

# Get billed minutes per workflow
curl -H "Authorization: Bearer $GITHUB_TOKEN" \
  "https://api.github.com/repos/{owner}/{repo}/actions/workflows/{id}/timing"

# Response includes:
# "billable": {
#   "UBUNTU": {"total_ms": 360000},
#   "WINDOWS": {"total_ms": 120000},
#   "MACOS": {"total_ms": 0}
# }

Aggregate across all repos in your org with the organisation-level endpoint: GET /orgs/{org}/actions/workflows, then iterate per workflow.

§ 02

Step 2: Tag workflows with ownership

The simplest convention: prefix all workflow names with the owning team.

# .github/workflows/backend-build.yml
name: "team-backend/build-api"

# .github/workflows/frontend-test.yml
name: "team-frontend/test-web"

# .github/workflows/platform-nightly.yml
name: "team-platform/nightly-jobs"

With this convention, the usage API response gives you per-team cost by grouping on the workflow name prefix. No additional infrastructure required. Implement in an afternoon.

§ 03

Step 3: Rollup with a FinOps tool

Vantage

CI integration shows per-repo and per-team rollup of GitHub Actions cost alongside cloud infrastructure costs. Requires connecting your GitHub org. Plan pricing: $750-3,500/month depending on cloud spend under management.

vantage.sh

CloudZero

Unit-cost breakdown: cost per feature, per engineer, per deployment. More engineering-focused than Vantage. Custom pricing.

cloudzero.com

DIY rollup (free)

A Python or Node script pulling the usage API daily and writing team totals to a CSV. Takes 2-3 hours to build, runs free forever.

§ 04

Step 4: Bill-back models

Showback

Each team sees their own cost but is not charged against their budget. The easiest model to implement and sufficient to drive behaviour change. 80% of teams should start here.

Informational

Same as showback, but the data is shared in a monthly report to engineering leadership only. Teams do not see their own data. Limited behaviour change but useful for executive reporting.

Chargeback

Each team's CI cost comes out of their departmental budget. Drives maximum cost consciousness but creates overhead (budget transfers, disputes, accounting). Suitable for orgs with mature FinOps discipline.

§ 05

Worked example

60-ENGINEER ORG, 4 PRODUCT TEAMS, $4,800/MO TOTAL

Team A (frontend + Cypress E2E)$1,800/mo
Team B (backend, Linux-only)$600/mo
Team C (platform + nightly jobs)$1,200/mo
Team D (mobile, macOS-heavy)$1,200/mo

AFTER ATTRIBUTION-DRIVEN OPTIMISATIONS (90 DAYS)

Team A: move E2E to nightly, add paths filter$800/mo
Team B: ARM + dependency cache$280/mo
Team C: concurrency gate on nightly$900/mo
Team D: Depot macOS at $0.04/min$600/mo
New total$2,580/mo (46% reduction)

Attribution is not the optimisation. Attribution is how you find where to optimise. Without per-team data, the $1,800 Team A spend was invisible inside a $4,800 total.

DIGITAL SIGNET · PIPELINE AUDIT

The pipeline audit includes a per-team cost attribution report.

Digital Signet's two-week pipeline cost audit delivers the attribution breakdown, identifies the top-3 cost drivers per team, and delivers a 90-day optimisation roadmap. One engagement is typically valued at 3-10x the annual CI saving it generates.

Get an Audit