Skip to main content

GitHub Actions Billing Explained

Everything you need to know about GitHub Actions minutes, runner multipliers, billing cycles, and how to avoid unexpected overages.

Free Minutes by Plan

Every GitHub plan includes a monthly allowance of Actions minutes for private repositories. Public repositories get unlimited free minutes on all plans.

PlanMonthly MinutesStoragePrice
Free2,000500 MB$0
Team3,0002 GB$4/user/mo
Enterprise50,00050 GB$21/user/mo

Minutes reset on the first day of each billing cycle. Unused minutes do not carry over.

Runner Multipliers

Not all minutes are counted equally. GitHub applies multipliers based on the operating system of the runner. One minute on a macOS runner costs 10x what a Linux minute costs.

Runner OSMultiplierPer-Minute RateEffective Cost (1 hr)
Linux1x$0.008$0.48
Windows2x$0.016$0.96
macOS10x$0.08$4.80
A workflow running 30 minutes on macOS uses 300 of your monthly minutes (30 min x 10x multiplier). This is the most common cause of unexpected overages.

Larger Runners

GitHub also offers larger hosted runners with more CPU and RAM. These are billed per minute at higher rates, and the minutes do not come from your included minutes pool.

RunnervCPURAMPer-Minute Rate
Linux 4-core416 GB$0.032
Linux 8-core832 GB$0.064
Linux 16-core1664 GB$0.128

How the Billing Cycle Works

GitHub Actions billing follows your account's billing cycle, not the calendar month. Here's what you need to know:

  • 1.Minutes reset on the first day of your billing cycle (check Settings → Billing).
  • 2.Unused minutes do not roll over to the next month.
  • 3.Once you exceed your included minutes, you're charged at the per-minute overage rates above.
  • 4.You can set a spending limit (including $0) in Settings → Billing → Actions to prevent unexpected charges.

How Overages Happen

The most common causes of billing surprises:

macOS Runner Usage

A 20-minute iOS build workflow running twice daily uses 12,000 minutes/month after the 10x multiplier. That's 6x the free plan's allowance.

Runaway Workflows

A workflow triggered on every push to every branch, or one stuck in an infinite retry loop, can burn through your minutes in hours.

Fork Pull Requests

Workflows triggered by pull requests from forks consume your minutes, not the contributor's. A popular open-source repo can quickly eat through private repo minutes.

Track Your GitHub Actions Usage

Build Quota monitors your minutes in real time, predicts when you'll run out, and alerts you before overages hit.

Related Guides