DEV Community

Shubham
Shubham

Posted on

GitHub Actions Changed Pricing in 2026 — Here's Exactly What You're Paying Now (Free Calculator Inside)

The Bill That Started This

In January 2026, GitHub quietly updated their Actions pricing.
Ubuntu went from $0.008/min to $0.006/min — a 25% reduction.
macOS went from $0.080/min to $0.048/min — a 40% drop.

Good news, right? Cheaper CI/CD.

Except most teams had no idea this happened.
And many teams are still paying for macOS runners
when Ubuntu would do the same job for 8x less.


The 2026 GitHub Actions Pricing (Official Numbers)

Runner Old Price New Price (Jan 2026) Change
Ubuntu (Linux) $0.008/min $0.006/min -25%
Windows $0.016/min $0.010/min -37.5%
macOS $0.080/min $0.048/min -40%

These are the overage rates after free tier.
Free tier: 2,000 min (Free), 3,000 min (Pro),
50,000 min (Team).


The macOS Problem Nobody Talks About

macOS runners cost 8x more than Ubuntu runners
on the new pricing. Before the update, it was 10x.

Still 8x.

Here's what that means in practice:

# This job on macOS: $0.048/min × 10 min = $0.48 per run
# This job on Ubuntu: $0.006/min × 10 min = $0.06 per run
jobs:
  test:
    runs-on: macos-latest  # ← costs 8x more than ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm test
Enter fullscreen mode Exit fullscreen mode

If you push 20 times per day, that's:

  • macOS: $9.60/day → $288/month
  • Ubuntu: $1.20/day → $36/month

For the same test results.


The Windows Trap

Windows runners are 1.67x more expensive than Ubuntu:

  • Ubuntu: $0.006/min
  • Windows: $0.010/min

Many teams run cross-platform tests on Windows "just in case"
without checking if their Linux tests already cover it.


Self-Hosted Runner Change (March 2026 Controversy)

GitHub announced charges for self-hosted runners
(ephemeral, network access) — $0.002/min starting March 2026.

This is still significantly cheaper than hosted runners
but it caught many teams off guard who assumed
self-hosted = always free.


Free Minutes — Do You Know Your Limit?

Before any overage kicks in, you get:

Plan Free Minutes/Month
Free 2,000
Pro 3,000
Team 50,000
Enterprise 50,000

With OS multipliers applied:

  • 2,000 Linux minutes on Free plan
  • But only 200 macOS minutes (10x multiplier)
  • Or 666 Windows minutes (3x multiplier)

How to Calculate Your Actual Cost

I built a free calculator that does this instantly:

🔗 GitHub Actions Cost Calculator

Paste your workflow YAML → instant cost breakdown across
all 3 runner types → AI suggestions to reduce costs.

No signup. No account. Runs in browser. Nothing stored.


5 Ways to Reduce Your GitHub Actions Bill

1. Switch lint/type-check jobs to Ubuntu

# Before — expensive
lint:
  runs-on: macos-latest

# After — 8x cheaper, identical output
lint:
  runs-on: ubuntu-latest
Enter fullscreen mode Exit fullscreen mode

2. Use path filters — skip CI on docs changes

on:
  push:
    paths:
      - 'src/**'
      - '!docs/**'
      - '!*.md'
Enter fullscreen mode Exit fullscreen mode

3. Cache dependencies aggressively

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Enter fullscreen mode Exit fullscreen mode

4. Run jobs in parallel instead of serial

strategy:
  matrix:
    test-suite: [unit, integration, e2e]
# All 3 run simultaneously — same total time, 
# same total cost, but faster wall-clock
Enter fullscreen mode Exit fullscreen mode

5. Only run macOS when you truly need it

test:
  strategy:
    matrix:
      os: [ubuntu-latest, macos-latest]
  runs-on: ${{ matrix.os }}
  # Ask: does your macOS test find bugs Ubuntu misses?
  # If not, remove macos-latest from the matrix
Enter fullscreen mode Exit fullscreen mode

The Bigger Picture — 11 More Billing Surprises

GitHub Actions is just one piece.

After I built that calculator, I realized the same problem
existed across the whole developer tooling ecosystem:

  • Docker Hub now throttles unauthenticated pulls to
    10/hour (down from 100/6hr) — shared CI runner IPs
    mean your builds fail because of other users

  • Firebase bills per Firestore document read —
    one bad list query can cost $179/month

  • Netlify's new credit system makes bandwidth overage
    cost $0.55/GB vs Vercel's $0.15/GB — 3.7x difference

I built free calculators for all of these:

DevCost Tools — All 12 Calculators

CI/CD, AWS Lambda, CodeBuild, Vercel vs Netlify,
Supabase vs Firebase, Docker Hub, CircleCI, GitLab CI,
AI API rate limits, full tech stack estimator.

All free. All 2026 pricing. All browser-side calculations.


Quick Reference — 2026 Pricing Cheat Sheet

GitHub Actions
  Ubuntu:  $0.006/min  (1x multiplier)
  Windows: $0.010/min  (1.67x multiplier)  
  macOS:   $0.048/min  (8x multiplier)

GitLab CI
  All OS:  $0.010/min flat  (no multiplier!)
  macOS:   6x compute minutes consumed

CircleCI
  Linux:   $0.006/min (10 credits/min)
  macOS:   $0.060/min (100 credits/min)
  1 credit = $0.0006

AWS Lambda
  x86:     $0.0000166667/GB-s
  ARM:     $0.0000133334/GB-s  (20% cheaper)
  Free:    1M requests + 400K GB-s/month

Docker Hub
  Unauth:  10 pulls/hour per IP
  Free:    100 pulls/hour per user
  Paid:    Unlimited
Enter fullscreen mode Exit fullscreen mode

Which of these billing surprises caught you off guard?
Let me know in the comments 👇

And if this saved you from a surprise bill —
share it with one teammate who runs macOS builds.

Top comments (0)