Skip to content
Sengi

GitHub Actions pricing in 2026: runner rates, included minutes, and what a month costs

How much does GitHub Actions cost a month?

GitHub Actions is free on public repositories with standard runners and free on self-hosted runners. Private repositories get 2,000 included minutes a month on GitHub Free, 3,000 on Pro and Team and 50,000 on Enterprise Cloud; every minute beyond that is billed at its runner's rate, $0.006 for a standard Linux 2-core minute, $0.010 for Windows and $0.062 for macOS. A GitHub Team account running 12,000 Linux minutes pays $54.00 before storage. Rates checked September 21, 2026.

Last checked September 21, 2026: GitHub's published runner rates, included minutes and billing rules were read on that date, and every figure on this page comes from that reading.

How much does GitHub Actions cost per minute?

GitHub bills Actions per minute of job execution, at a flat rate for each runner type. The rates below are from GitHub's Actions runner pricing reference, checked September 21, 2026. They are what you pay after your plan's included minutes are used on private repositories.

Standard GitHub-hosted runners

RunnerBilling SKUPer minute (USD)
Linux 1-core (x64)actions_linux_slim$0.002
Linux 2-core (x64)actions_linux$0.006
Linux 2-core (arm64)actions_linux_arm$0.005
Windows 2-core (x64)actions_windows$0.010
Windows 2-core (arm64)actions_windows_arm$0.010
macOS 3-core or 4-core (M1 or Intel)actions_macos$0.062

x64 larger runners

RunnerBilling SKUPer minute (USD)
Linux Advanced 2-corelinux_2_core_advanced$0.006
Linux 4-corelinux_4_core$0.012
Linux 8-corelinux_8_core$0.022
Linux 16-corelinux_16_core$0.042
Linux 32-corelinux_32_core$0.082
Linux 64-corelinux_64_core$0.162
Linux 96-corelinux_96_core$0.252
Windows 4-corewindows_4_core$0.022
Windows 8-corewindows_8_core$0.042
Windows 16-corewindows_16_core$0.082
Windows 32-corewindows_32_core$0.162
Windows 64-corewindows_64_core$0.322
Windows 96-corewindows_96_core$0.552
macOS 12-coremacos_l$0.077

arm64 larger runners

RunnerBilling SKUPer minute (USD)
Linux 2-corelinux_2_core_arm$0.005
Linux 4-corelinux_4_core_arm$0.008
Linux 8-corelinux_8_core_arm$0.014
Linux 16-corelinux_16_core_arm$0.026
Linux 32-corelinux_32_core_arm$0.050
Linux 64-corelinux_64_core_arm$0.098
Windows 2-corewindows_2_core_arm$0.008
Windows 4-corewindows_4_core_arm$0.014
Windows 8-corewindows_8_core_arm$0.026
Windows 16-corewindows_16_core_arm$0.050
Windows 32-corewindows_32_core_arm$0.098
Windows 64-corewindows_64_core_arm$0.194
macOS 5-core (M2 Pro)macos_xl$0.102

GPU larger runners

RunnerBilling SKUPer minute (USD)
Linux 4-core GPUlinux_4_core_gpu$0.052
Windows 4-core GPUwindows_4_core_gpu$0.102

Storage is priced separately: $0.25 per GB-month for artifacts and GitHub Packages, which share one allowance, and $0.07 per GB-month each for the Actions cache and for custom images. Those rates come from GitHub Actions billing, checked the same day.

How many GitHub Actions minutes are included with each plan?

Every GitHub account gets a monthly quota of standard-runner minutes for its private repositories. Public repositories do not draw on it at all. The figures below are from GitHub's included product usage and Actions billing references, checked September 21, 2026.

PlanMinutes per monthArtifact and Packages storageCache storage per repository
GitHub Free2,000500 MB10 GB
GitHub Pro3,0001 GB10 GB
GitHub Free for organizations2,000500 MB10 GB
GitHub Team3,0002 GB10 GB
GitHub Enterprise Cloud50,00050 GB10 GB

Three rules decide whether the quota helps you. Standard GitHub-hosted runners are free on public repositories, so those jobs never touch it. The allowance does not apply to larger runners; GitHub meters their execution in both private and public repositories. At the next billing cycle the account receives its full allowance again, with no unused balance carried forward. Usage belongs to the repository owner's bill rather than the account that triggered a run.

There are no minute multipliers in GitHub's current pricing. Each runner SKU has one published per-minute rate, so a Windows 2-core minute costs $0.010 and a macOS minute $0.062, rather than a Linux minute multiplied at billing time. Larger runners are only offered to organizations and enterprises on GitHub Team or GitHub Enterprise Cloud.

How is a GitHub Actions minute billed?

Rounded up, per job. GitHub's job execution time documentation says billable time is rounded up to the next minute. The rounding happens once per job, not once per workflow, so ten 30-second jobs bill ten minutes, not five.

Queue time is not billed. You pay for execution. GitHub meters a larger runner while a workflow uses it and does not charge merely because the runner configuration exists idle.

Matrix jobs multiply. Each matrix combination is its own job with its own rounding. A ten-minute build across six matrix entries bills sixty minutes.

Failures and retries bill what they ran. A job that fails after five minutes consumes five minutes. If its successful retry runs for ten, the two attempts consume fifteen minutes together.

Storage is a separate meter. GitHub samples artifact and cache storage by the hour and turns those GB-hours into the monthly charge. Deletion prevents more storage from accumulating but does not reverse earlier hours in the same cycle. Workflow logs and job summaries sit outside the artifact allowance.

No payment method means a hard stop. An account without a valid payment method cannot continue past its included quota or start a larger runner.

How do I work out my own GitHub Actions bill?

Enter your plan, your monthly job-minutes and the runner you use. The calculator applies the rates and rules above to GitHub's bill, and the same work to Sengi's matched runner shape, where it finishes faster and bills fewer minutes. It runs in your browser; nothing is sent anywhere and nothing is stored. The same calculator, with its own worked examples, is on the GitHub Actions cost calculator page.

What does a month of GitHub Actions cost in practice?

Each example is worked by hand from the rates above, with the same work on Sengi for comparison: typical CI runs 1.8× faster on Sengi's 2 vCPU runner and 1.81× on 4 vCPU, so it bills fewer minutes.

A small team on GitHub Free: 1,500 private minutes

Five developers, one private repository, a CI workflow that rounds to about 1,500 Linux 2-core minutes a month, and 300 MB of artifacts held throughout the billing month.

LineMinutesRateCost
Included minutes (GitHub Free)1,500 of 2,000—$0.00
Billed Linux 2-core minutes0$0.006$0.00
Artifact storage (300 MB, under the 500 MB allowance)—$0.25/GB-month$0.00
Monthly total——$0.00

Below the quota, compute costs nothing on either side.

A team on GitHub Team: 12,000 private minutes

One organization on GitHub Team, private repositories, 12,000 Linux 2-core minutes a month and 5 GB of artifacts held throughout the billing month against a 2 GB allowance.

LineMinutesRateCost
Included minutes (GitHub Team)3,000—$0.00
Billed Linux 2-core minutes9,000$0.006$54.00
Artifact storage above allowance3 GB$0.25/GB-month$0.75
Monthly total——$54.75

On Sengi: $11.00 of compute. You save 80%. The 12,000 GitHub minutes take 6,667 on Sengi; after the 3,000 free minutes, 3,667 are billed at $0.003. Storage stays on GitHub at $0.75.

A heavy private-repo team: 30,000 standard and 6,000 larger minutes

GitHub Team, private repositories, 30,000 Linux 2-core minutes plus 6,000 minutes on a 4-core larger runner, with 20 GB of artifacts held throughout the billing month.

LineMinutesRateCost
Included minutes, applied to standard runners3,000—$0.00
Billed Linux 2-core minutes27,000$0.006$162.00
Linux 4-core larger runner (no included minutes)6,000$0.012$72.00
Artifact storage above the 2 GB allowance18 GB$0.25/GB-month$4.50
Monthly total——$238.50

The included 3,000 minutes go to the standard runner, because larger runners cannot use them.

On Sengi: $60.89 of compute, $173.11 a month saved. You save 74%. The 30,000 standard minutes take 16,667 on Sengi's 2 vCPU runner; after the 3,000 free minutes, 13,667 at $0.003 come to $41.00. The 6,000 larger-runner minutes take 3,315 on 4 vCPU, at $0.006 for $19.89. Storage stays on GitHub at $4.50.

How do I pay less for GitHub Actions?

Run fewer wasted minutes first

Make a short list of your busiest workflows. Record jobs per week, minutes per job, runner size and retries. Include every matrix job: a ten-minute workflow with six parallel jobs can consume sixty runner minutes. Start with the largest recurring cost, keep the same tests, and record a baseline before changing anything.

When a newer commit replaces an older one, the older test run may no longer help anyone. For a CI-only workflow where interruption is safe, a concurrency group can cancel that stale run:

concurrency:
  group: ci-${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

The workflow name and ref keep unrelated workflows and branches separate. Review deployment steps before enabling cancellation: interrupting a release halfway through can create work instead of saving it. Also check duplicate push and pull-request triggers, obsolete scheduled jobs and unnecessary matrix combinations, and test path filters against your branch protections, because skipping a workflow with a required check can leave a pull request waiting to merge.

Then check runner size and caching. Compare dependency installation with a cache hit and a cache miss, using stable keys tied to dependency changes and GitHub's dependency caching guidance. Choose runner size by completed-job cost: a runner at twice the minute rate must finish in less than half the billed minutes to lower compute cost, and more CPUs are less useful when a job spends most of its time downloading packages or waiting on an external service. The GitHub Actions speed guide covers the measurement sequence; if a job is waiting rather than running slowly, use the stuck-job checklist.

Self-hosted runners

Self-hosted runners cost no GitHub minutes. GitHub's self-hosted runner documentation makes the operator responsible for the machines and their maintenance. That responsibility is the whole trade: machines, images, patching, disk cleanup, isolation between jobs, and someone on call when the fleet stops taking jobs. The self-hosted runner cost guide works through that total.

On December 16, 2025 GitHub announced a $0.002-a-minute Actions cloud platform charge that would have applied to self-hosted usage from March 1, 2026, then postponed it before it took effect. The billing documentation checked September 21, 2026 still lists self-hosted usage as free. No replacement date is published.

Hosted third-party runners: up to 74% less a build

A managed runner service keeps GitHub Actions and swaps the machine underneath. Sengi runs 2 vCPU with 8 GB for $0.003 a minute, 4 vCPU with 16 GB for $0.006, and 8 vCPU with 32 GB for $0.012, on bare-metal 5 GHz CPUs with up to 2.75× the multi-core CPU of GitHub's 2 vCPU runner. Builds finish up to 1.9× faster, so you save up to 74% a build: on RunsOn's open benchmark harness, a production Docker image costs $0.045 on Sengi against $0.175 on GitHub. Boot and teardown are never billed, and there is no subscription or minimum. Change runs-on yourself or with your coding agent, or see how Sengi stacks up against Blacksmith. Connect GitHub to try it: 3,000 free minutes a month, no card.

Frequently asked questions

How much does GitHub Actions cost?

Nothing, for standard GitHub-hosted runners on public repositories and for self-hosted runners. On private repositories you get 2,000 minutes a month on GitHub Free, 3,000 on Pro and Team and 50,000 on Enterprise Cloud; beyond that a standard Linux 2-core minute is $0.006 and a Windows 2-core minute is $0.010. A private-repository team running 12,000 Linux minutes on GitHub Team pays for 9,000 of them, which is $54.00.

Is GitHub Actions free?

It is free on public repositories when you use standard GitHub-hosted runners, and free for GitHub Pages and Dependabot. It is also free on self-hosted runners, though you pay for the machines yourself. Private repositories are free only up to the minutes included in your plan, and larger runners are charged from the first minute even on public repositories.

What does GitHub Actions cost per minute?

A standard Linux 2-core runner is $0.006 a minute. The 1-core Linux runner is $0.002, Linux 2-core on arm64 is $0.005, Windows 2-core is $0.010 and macOS is $0.062. Larger x64 Linux runners run from $0.012 a minute at 4 cores to $0.252 at 96 cores. These are GitHub's published rates, read on September 21, 2026.

How much does GitHub Actions cost for a private repository?

Your plan's included minutes apply first, then every further minute is billed at its runner's rate. On GitHub Team that is 3,000 included minutes, then $0.006 a minute on a standard Linux 2-core runner. Artifact and cache storage above your plan's allowance is billed separately, at $0.25 per GB-month for artifacts and packages and $0.07 per GB-month for the Actions cache.

How many free GitHub Actions minutes do I get each month?

GitHub Free gives 2,000 minutes a month, GitHub Pro 3,000, GitHub Team 3,000 and GitHub Enterprise Cloud 50,000. They reset to the full amount at the start of each billing cycle and do not carry over. They apply to standard GitHub-hosted runners on private repositories only.

Is there a GitHub Actions cost calculator?

Yes, there is one on this page. Enter your plan, your monthly job-minutes and your runner, and it applies GitHub's published rates and included-minute rules, then shows the same work on Sengi: half the price per minute, $0.003 against $0.006, and builds up to 1.9× faster, so together you save up to 74% a build.

Do included minutes cover larger runners?

No. The plan allowance applies to standard runners. GitHub meters larger runners from the first execution minute in private and public repositories, so a 4-core Linux larger runner costs $0.012 a minute from the start. Organizations and enterprises on GitHub Team or Enterprise Cloud can use larger runners.

Are Windows and macOS runners billed with a multiplier?

Not any more. GitHub now publishes one flat per-minute rate for each runner SKU: $0.010 for Windows 2-core and $0.062 for macOS, against $0.006 for Linux 2-core. Read as a ratio that is still roughly 1.7× for Windows and 10× for macOS, but the rate you are billed is the published one, not a Linux minute multiplied at the till.

Does GitHub charge for queue time, failed runs or cancelled runs?

GitHub meters execution rather than time spent waiting in its queue, with each job rounded up to a whole minute. Failed and cancelled attempts still consume the time they ran. For example, a failure after five minutes followed by a successful ten-minute retry consumes fifteen minutes in total.

Are self-hosted runners free?

Yes, as of September 21, 2026. GitHub does not charge Actions minutes for self-hosted runners, but you pay for and operate the machines. On December 16, 2025 GitHub announced a $0.002-a-minute Actions cloud platform charge that would have applied from March 1, 2026, then postponed it before it took effect; the current billing documentation still lists self-hosted usage as free.

Why is GitHub Actions expensive for some teams?

Usually because of volume rather than rate. Matrix jobs multiply minutes, a ten-minute workflow across six parallel jobs bills sixty runner minutes, and retries and superseded pushes add more. Larger runners compound it, because a larger Linux runner runs from the same $0.006 as a standard 2-core minute up to $0.252 at 96 cores, and never draws on included minutes.

How do I see my GitHub Actions bill?

Open billing and licensing for the account or organization, then inspect metered products. GitHub may present Actions usage as spend instead of a minute count; that spend has already applied the runner rates. Storage reporting can lag by 6 to 12 hours. The budgets page supports alerts at 75%, 90% and 100% of a budget.

Cut your GitHub Actions bill by up to 74%.

Up to half GitHub’s price per minute, on 5 GHz bare metal. Builds finish up to 1.9× faster than on GitHub’s runners, so together you pay up to 74% less per build. Change one runs-on line, or give your coding agent one prompt and it opens the pull request for you.

Start free

3,000 free minutes a month, no card. See how switching works