Skip to main content

Cost Tracking

CICosts provides real-time cost tracking for every GitHub Actions workflow run. This is the core feature that gives you visibility into your CI/CD spending.

How It Works

Automatic Data Collection

When you install the CICosts GitHub App, we:

  1. Receive webhooks when workflows start and complete
  2. Fetch job metadata including runner labels and durations
  3. Calculate costs based on GitHub's published rates
  4. Store and aggregate data for your dashboard

Cost Calculation

For each workflow run, CICosts calculates the total cost by:

Total Cost = Σ (job_duration × runner_rate)

Where:

  • job_duration is the billable time in minutes (rounded up)
  • runner_rate is GitHub's per-minute rate for that runner type

Runner Rates

CICosts uses GitHub's official pricing:

Linux Runners

RunnerPrice/Minute
ubuntu-latest (2-core)$0.008
ubuntu-latest-4-cores$0.016
ubuntu-latest-8-cores$0.032
ubuntu-latest-16-cores$0.064
ubuntu-latest-32-cores$0.128
ubuntu-latest-64-cores$0.256
ubuntu-latest-arm (2-core)$0.005

Windows Runners

RunnerPrice/Minute
windows-latest (2-core)$0.016
windows-latest-4-cores$0.032
windows-latest-8-cores$0.064
windows-latest-16-cores$0.128
windows-latest-32-cores$0.256
windows-latest-64-cores$0.512

macOS Runners

RunnerPrice/Minute
macos-latest (3/4-core)$0.080
macos-latest-large (12-core)$0.120
macos-latest-xlarge (M1)$0.160
ARM Runners

Linux ARM runners are the most cost-effective option at $0.005/min—37% cheaper than standard Linux runners.

Dashboard Views

Summary View

The main dashboard shows:

  • Today's spend with comparison to average
  • Weekly and monthly totals
  • Total workflow runs
  • Trend chart showing daily spending

Repository Breakdown

See costs aggregated by repository:

  • Total cost per repo
  • Number of workflow runs
  • Most expensive workflows
  • Cost trend over time

Workflow Breakdown

Drill into individual workflows:

  • Average cost per run
  • Run frequency
  • Success/failure ratio and costs
  • Job-level cost breakdown

Job-Level Details

For any workflow run, view:

  • Each job's duration and cost
  • Runner type used
  • Individual step timing

Key Metrics

CICosts tracks several key metrics:

MetricDescription
Total CostSum of all workflow costs
Cost per RunAverage cost of a single workflow run
Total RunsNumber of workflow runs
Total DurationCombined runtime of all jobs
Top WorkflowsMost expensive workflows by total cost

Best Practices

Track All Repositories

For accurate organization-wide visibility, install CICosts on all repositories. You can:

  • Set up once with "All repositories" access
  • Add new repos automatically as they're created

Regular Review

We recommend reviewing your cost dashboard:

  • Daily: Check for anomalies and spikes
  • Weekly: Review top workflows and trends
  • Monthly: Analyze patterns and plan optimizations

Set Up Alerts

Combine cost tracking with budget alerts to:

  • Get notified of unusual spending
  • Prevent runaway costs
  • Stay within budget

Limitations

Self-Hosted Runners

CICosts tracks GitHub-hosted runners only. Self-hosted runners:

  • Don't have per-minute GitHub costs
  • Still appear in workflow data (with $0 cost)

Free Minutes

CICosts shows gross costs before free minutes are applied. Your actual GitHub bill may be lower if you have:

  • Free minutes included with your plan
  • GitHub Enterprise Cloud benefits
  • Open source project exemptions

Concurrent Job Limits

CICosts doesn't track concurrent job limits or queue time costs—only actual execution time.


Next: Budget Alerts