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

Last verified June 2026 · 8 min read

GitHub Actions pricing 2026: the complete cost model

TL;DR · RATES SINCE 1 JANUARY 2026

Linux x86
$0.006/minbaseline (was $0.008 before Jan 2026)
Linux ARM
$0.005/min~17% cheaper than x86 (not half)
Windows
$0.010/min2x included-minute multiplier
macOS (3-4 core)
$0.062/min10x included-minute multiplier (Apple hardware leasing)
Self-hosted platform fee
noneProposed for Mar 2026, postponed indefinitely; runners still free
Free tier (Free plan)
2,000 min/moLinux equivalent, public repos unlimited

IS GITHUB ACTIONS FREE? THE FREE TIER IN FULL

Yes, for public repositories: GitHub Actions on standard GitHub-hosted runners is completely free and unmetered for public repos, with no minute cap. For private repositories you get a monthly allowance of included minutes and storage that varies by plan, then pay per minute for anything beyond it.

PlanFree minutes/mo (private repos)Free storage
Free2,000500 MB
Pro3,0001 GB
Team3,0002 GB
Enterprise50,00050 GB

Two catches that surprise teams. First, free minutes are Linux-equivalent and drain at the OS multiplier, so a macOS build burns 10x its wall-clock minutes against your allowance (see the included-minute trap below). Second, once a private repo exceeds its included minutes, overage bills at the standard per-minute rates, or GitHub blocks further runs if you have no payment method on file. Every plan also includes 10 GB of Actions cache storage per repository, separate from the artifact storage above.

§ 01

Per-plan included minutes

PlanPriceIncluded min/moStorageNotes
Free$02,000500 MBPublic repos: unlimited minutes
Pro$4/user/mo3,0001 GBIndividual developers
Team$4/user/mo3,0002 GBOrganisations, SAML, advanced permissions
Enterprise$21/user/mo50,00050 GBCompliance features, audit log, SAML, IP allowlist

Additional minutes beyond the included allocation are billed at the per-minute rates above. Storage overages are billed at $0.25/GB/month. Large runners (8-core, 16-core, 64-core) have separate, higher per-minute rates not listed above.

§ 02

The self-hosted platform fee that never landed

In December 2025 GitHub announced a $0.002 per minute platform fee on self-hosted runner minutes, scheduled to start 1 March 2026, to charge for the Actions control plane (orchestration and scheduling) on top of your own infrastructure cost. After heavy community backlash it postponed the change indefinitely before it took effect. As of June 2026 there is no self-hosted platform fee. Self-hosted runner minutes remain free; you pay only for the EC2 or Kubernetes compute you run them on.

What did happen on 1 January 2026 was a price cut on GitHub-hosted runners of up to 39%: Linux x86 dropped from $0.008 to $0.006/min, Windows from $0.016 to $0.010, and macOS from $0.080 to $0.062. GitHub folded the orchestration charge into those hosted rates, so there is no separate fee line on a hosted bill. The net effect was the opposite of the original proposal: hosted runners got cheaper and self-hosting stayed free.

The break-even maths therefore still turns on engineer time, not a GitHub fee. For a team consuming 25,000 self-hosted minutes per month, the dominant cost is maintenance, not infrastructure. External managed runners like Depot ($0.004/min Linux) still undercut both self-hosting and GitHub-hosted on raw rate, but the cheaper January hosted prices narrowed that gap.

25,000 min/mo self-hosted on c6i.xlarge spot (June 2026)

EC2 spot cost~$31/mo
Engineer maintenance (2hr/mo @ $130/hr)$260/mo
Self-hosted platform fee$0 (postponed)
Total self-hosted$291/mo
GitHub-hosted Linux (25,000 x $0.006)$150/mo
Depot equivalent (25,000 min x $0.004)$100/mo + $50 base

The honest conclusion is unchanged: for most teams under 100,000 minutes per month, the self-hosted path costs more than a managed external runner once you account for engineer time, even without a platform fee. See self-hosted runners for the full break-even analysis.

§ 03

OS multiplier deep dive

Two numbers govern each OS: the per-minute dollar rate (what overage costs) and the included-minute multiplier (how fast a job drains your monthly allowance). They used to match, but the January 2026 repricing decoupled them. The base is Linux x86 at $0.006/min, 1x on included minutes.

LINUX ARM · $0.005/min · ~17% CHEAPER THAN X86

GitHub-hosted ARM Linux runners run on AWS Graviton and bill at $0.005/min versus $0.006/min for x86, roughly 17% cheaper. This is a real saving on a pure Linux workload but it is not the half-price cut sometimes claimed. See the full ARM runners guide.

WINDOWS · $0.010/min · 2x INCLUDED-MINUTE MULTIPLIER

Windows licensing cost is passed through. Overage bills at $0.010/min and Windows jobs drain included minutes at 2x. If you have significant Windows workloads, Azure DevOps at $0.007/min or $40/parallel job can be cheaper. This is a real migration to consider if your bill is Windows-driven.

MACOS · $0.062/min · 10x INCLUDED-MINUTE MULTIPLIER

Apple hardware leasing at cloud scale explains the premium. Overage bills at $0.062/min and a 10-minute macOS build still consumes 100 of your included minutes (10x). For iOS/macOS development, self-hosting Mac Minis (MacStadium, Scaleway, Hetzner Apple Silicon) is typically cheaper above 5,000 macOS minutes per month. External providers do not undercut GitHub here: Depot, the main one offering macOS, lists it from about $0.08/min.

§ 04

The included-minute trap

The most commonly misunderstood detail in GitHub Actions billing: the included minutes for your plan are Linux-equivalent minutes, consumed at the OS multiplier rate.

EXAMPLE: GitHub Team plan, 3,000 included minutes/mo

One 10-min Linux build10 of 3,000 used
One 10-min macOS build100 of 3,000 used (x10)
Daily 10-min macOS build (22 days)2,200 of 3,000 used
Remaining for Linux builds800 min (10 builds of 80 min each)

A team running daily iOS builds on the Team plan will almost certainly exceed their included minutes every month and pay macOS overage. This is the surprise that shows up on the second billing cycle.

§ 05

Optimisation checklist

Switch Linux builds to ARM

~17% cost reduction, most standard workloads work without changes

Cache dependencies

npm, pnpm, yarn, maven, gradle, cargo, pip, composer recipes

Add paths filter

Skip workflows when unrelated files change. 20-40% typical saving

Add concurrency group

Cancel superseded builds on force-push. 20-40% saving on active teams

Docker layer cache

4x Docker build time reduction in common scenarios

Evaluate external runners

Depot, Blacksmith, Ubicloud: 40-70% cheaper than GitHub-hosted

DIGITAL SIGNET · PIPELINE AUDIT

GitHub Actions bill spiked? We find the culprit.

Digital Signet runs two-week pipeline cost audits. We identify the caching gaps, concurrency issues, and OS-mix opportunities that are driving your bill.

Get an Audit

Frequently asked questions

Is GitHub Actions free?+
For public repositories, GitHub Actions on standard GitHub-hosted runners is completely free and unmetered, with no minute cap. For private repositories you get a monthly free allowance: Free plan 2,000 minutes and 500 MB storage, Pro 3,000 minutes and 1 GB, Team 3,000 minutes and 2 GB, Enterprise 50,000 minutes and 50 GB, plus 10 GB of Actions cache storage per repository on every plan. Beyond the included minutes, private-repo overage bills at the standard per-minute rates (or runs are blocked with no payment method on file).
How much does GitHub Actions cost?+
Since the 1 January 2026 repricing, standard 2-core hosted runners cost: Linux x86 $0.006/min, Linux ARM $0.005/min, Windows $0.010/min, macOS (3-4 core) $0.062/min. Included minutes drain at OS multipliers (Linux 1x, Windows 2x, macOS 10x). Free tiers: Free plan 2,000 min/month, Pro/Team 3,000 min/month, Enterprise 50,000 min/month.
Does GitHub charge a platform fee on self-hosted runners?+
No. GitHub proposed a $0.002 per minute self-hosted platform fee for 1 March 2026, then postponed it indefinitely in December 2025 after backlash. As of June 2026 it has not taken effect and self-hosted runner minutes remain free; you pay only for your own EC2 or Kubernetes compute.
Why are GitHub Actions macOS builds so expensive?+
GitHub leases Apple hardware to support macOS builds. Apple licensing and hardware constraints mean GitHub cannot offer macOS at Linux economics. The 10x multiplier reflects the real cost. For high-volume macOS builds, self-hosting Mac Minis is typically cheaper above 5,000 macOS minutes per month.
How do included minutes work on GitHub Actions?+
Included minutes are Linux x1 equivalent. If you have 3,000 included minutes and run a macOS job for 1 wall-clock minute, it consumes 10 of your 3,000 included minutes. A 3-minute macOS build depletes 30 of your monthly allowance.

Updated 2026-06-16