GitHub Actions cost per minute, runner by runner
GitHub Actions has no single price per minute. Each standard runner has its own rate, and the dearest one costs thirty-one times as much as the cheapest. This page lists every standard runner in the free data of this site's calculator, with what one minute, one hour and 1,000 minutes cost on each.
The rate table
| Runner | Rate per minute | One 60-minute job | 1,000 billed minutes |
|---|---|---|---|
| Linux 1-core, x64 | $0.002 | $0.12 | $2.00 |
| Linux 2-core, x64 | $0.006 | $0.36 | $6.00 |
| Linux 2-core, arm64 | $0.005 | $0.30 | $5.00 |
| Windows 2-core, x64 | $0.01 | $0.60 | $10.00 |
| Windows 2-core, arm64 | $0.01 | $0.60 | $10.00 |
| macOS 3-core or 4-core, M1 or Intel | $0.062 | $3.72 | $62.00 |
Assumptions behind the table
- Billed minutes only. The two right-hand columns price minutes that are actually charged: minutes in a private repository after the plan's included minutes are used up.
- Whole minutes. GitHub rounds each job up to the nearest whole minute, so the 60-minute column is one job that runs for exactly an hour, and the 1,000-minute column is 100 jobs of 10 minutes.
- No multiplier. The GitHub pages read on the checked date list no minute multiplier and no separate platform charge. A minute on any standard runner uses one included minute, and a billed minute costs that runner's own rate.
- Standard runners only. Larger runners are billed differently and are not in this table. The plan's seat price, storage and taxes are left out as well.
When a minute costs nothing
Two cases cost $0.00 whatever the runner. Standard runners are free in public repositories, and in a private repository the minutes inside your plan's monthly allowance are not charged.
| Plan | Included minutes per month |
|---|---|
| GitHub Free | 2,000 |
| GitHub Pro | 3,000 |
| GitHub Free for organizations | 2,000 |
| GitHub Team | 3,000 |
| GitHub Enterprise Cloud | 50,000 |
Worked example: 4,000 minutes on GitHub Team
A GitHub Team account runs 20 jobs per working day in a private repository, 10 minutes each, 20 working days a month. That is 400 jobs and 4,000 minutes. The plan includes 3,000, so 1,000 minutes are billed, and the bill is the last column of the rate table: $6.00 a month if every job runs on the Linux 2-core x64 runner, $5.00 on Linux arm64, $10.00 on Windows and $62.00 on macOS. On the Linux 1-core runner the same overage is $2.00.
The included minutes are the same 3,000 whichever runner uses them. What changes with the runner is only the price of the minutes that come after.
Reading the rates
- macOS against Linux. The macOS rate of $0.062 is a little more than ten times the Linux 2-core rate of $0.006. A thousand billed macOS minutes cost $62.00 against $6.00.
- Windows against Linux. Windows is $0.01 a minute on both x64 and arm64, so the processor does not change the Windows price. It is two thirds more than Linux 2-core x64.
- arm64 against x64 on Linux. The arm64 runner is $0.005 against $0.006, which is $1.00 less for every 1,000 billed minutes. Whether that is a saving depends on your jobs taking no longer on arm64.
- The 1-core Linux runner. At $0.002 it is a third of the 2-core rate. It suits short jobs that do little computing, such as labelling or a notification step.
Storage is priced separately
Minutes are not the only line on an Actions bill. Beyond the storage a plan includes, the same GitHub billing page lists $0.25 per GB per month for shared storage (artifacts and GitHub Packages) and $0.07 per GB per month for the Actions cache. The free calculator leaves storage out; the per-minute figures on this page are compute only.
Turn a rate into a monthly bill. The free calculator takes your plan, jobs per day, average job length and the share of jobs on each of these runners, and takes the included minutes off first.