Independent CI/CD pipeline cost research, read by teams cutting their build spend.Sponsor this site →
CI cost figures are vendor list prices verified August 2026. Actual cost depends on plan, concurrency, and discount terms. Vendor links are direct, unpaid. How we work.

Last verified August 2026 · 8 min read

GitHub Actions pricing 2026: the complete cost model

TL;DR · RATES SINCE 1 JANUARY 2026

Linux x86 1-core
$0.002/mincheapest published runner; a third of the 2-core rate
Linux x86 2-core
$0.006/minbaseline (was $0.008 before Jan 2026)
Linux ARM 2-core
$0.005/min~17% cheaper than x86 (not half)
Windows 2-core
$0.010/minsame rate on x64 and arm64; 2x 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 run on three separate meters, not one: artifacts and packages at $0.25 per GB per month, Actions cache storage at $0.07 per GB per month, and custom image storage at $0.07 per GB per month. Large runners (8-core, 16-core, 64-core) have separate, higher per-minute rates not listed above.

Two qualifiers on the plan prices. GitHub advertises Team at $4 per user per month and Enterprise from $21 per user per month for the first 12 months, so year two is not the number in the table. And GitHub does not show a Pro price on its main pricing page, so treat the $4 Pro figure as a legacy list rather than a current quote. Rates and allowances read from GitHub's Actions billing documentation and github.com/pricing on 23 September 2026.

§ 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 23 September 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. Some external managed runners still undercut GitHub-hosted on raw rate (Blacksmith $0.004/min, Ubicloud $0.00125/min for 2-vCPU Linux), while Depot's 2-CPU runner now matches GitHub at $0.006/min (vendor rates read 1 October 2026; see the runner shootout).

25,000 min/mo self-hosted on c6i.xlarge spot (August 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 Startup ($200 incl 20,000 min + 5,000 x $0.006)$230/mo

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 and Blacksmith both list macOS at 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

Blacksmith, Namespace, Ubicloud list 2-vCPU Linux rates 33-79% below 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/month 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. Every plan also includes 10 GB of Actions cache storage per repository. Once a private repo exceeds its included minutes, overage bills at the standard per-minute rates, or runs are blocked if no payment method is on file.
How much does GitHub Actions cost?+
Since the 1 January 2026 repricing, GitHub Actions charges per minute on standard 2-core hosted runners: Linux x86 $0.006/min, Linux ARM $0.005/min, Windows $0.010/min on both x64 and arm64, macOS (3-4 core) $0.062/min. A 1-core Linux x64 runner is cheaper still at $0.002/min, a third of the 2-core rate, and is the cheapest runner GitHub publishes. Free tiers: Free plan 2,000 min/month, Pro/Team 3,000 min/month, Enterprise 50,000 min/month. Storage runs on three separate meters after the free allocation: artifacts and packages $0.25/GB/month, Actions cache $0.07/GB/month, custom images $0.07/GB/month. Included minutes are consumed at OS multipliers (Linux 1x, Windows 2x, macOS 10x).
Does GitHub charge a platform fee on self-hosted runners?+
No. GitHub proposed a $0.002 per minute platform fee on self-hosted runner minutes for 1 March 2026, then postponed it indefinitely in December 2025 after community backlash. As of 23 September 2026 it has not taken effect and self-hosted runner minutes remain free. The compute cost of the runners themselves (EC2, Kubernetes) is still your own.
Why are GitHub Actions macOS builds so expensive?+
GitHub leases Apple hardware (typically Mac Minis running macOS) to support macOS builds. Apple's licensing and hardware constraints mean GitHub cannot offer macOS at the same economics as Linux. Standard macOS runners bill at $0.062/min and consume included minutes at a 10x multiplier. For high-volume macOS builds, self-hosting Mac Minis via MacStadium or Scaleway is typically cheaper above 5,000 macOS minutes per month.
How do included minutes work on GitHub Actions?+
Included minutes are Linux x1 equivalent minutes. 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. This is the most misunderstood detail in GitHub Actions billing, and it catches teams by surprise on their first billing cycle.

Updated 2026-08-04