Skip to main content

About billing for GitHub Actions

If you want to use GitHub Actions beyond the storage or minutes included in your account, you will be billed for additional usage.

Note

Enterprise accounts, and organizations owned by enterprise accounts, created after June 2, 2024, have access to the enhanced billing platform. Enterprises that participated in the public preview program also have access to the enhanced billing platform.

The enhanced billing platform offers better spending control and detailed visibility to help you understand your usage with more granular controls. See "Using the new billing platform."

About billing for GitHub Actions

Note that GitHub may apply a temporary authorization hold for the value of the usage-based costs in advance, which will appear as a pending charge in your account's payment method.

GitHub Actions usage is free for standard GitHub-hosted runners in public repositories, and for self-hosted runners. For private repositories, each GitHub account receives a certain amount of free minutes and storage for use with GitHub-hosted runners, depending on the account's plan. Any usage beyond the included amounts is controlled by spending limits.

If you are a monthly-billed customer, your account will have a default spending limit of 0 US dollars (USD), which prevents additional usage of minutes or storage for private repositories beyond the amounts included with your account. If you pay your account by invoice, your account will have an unlimited default spending limit. For more information, see "About spending limits."

If you are an organization owner or enterprise owner, you can connect an Azure Subscription ID to your organization or enterprise account to enable and pay for GitHub Actions usage beyond the amounts included with your account. For more information, see "Connecting an Azure subscription."

Minutes reset every month, while storage usage does not.

Included storage and minutes

Note

  • Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see "About billing for GitHub Actions."
  • Logs and job summaries do not count towards storage usage.
PlanStorageMinutes (per month)
GitHub Free500 MB2,000
GitHub Pro1 GB3,000
GitHub Free for organizations500 MB2,000
GitHub Team2 GB3,000
GitHub Enterprise Cloud50 GB50,000

The storage used by a repository is the total storage used by GitHub Actions artifacts and GitHub Packages. Your storage cost is the total usage for all repositories owned by your account. For more information about pricing for GitHub Packages, see "About billing for GitHub Packages."

If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and per-minute usage depending on the operating system used by the GitHub-hosted runner. GitHub rounds the minutes and partial minutes each job uses up to the nearest whole minute.

Minute multipliers

Jobs that run on Windows and macOS runners that GitHub hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. For example, using 1,000 Windows minutes would consume 2,000 of the minutes included in your account. Using 1,000 macOS minutes, would consume 10,000 minutes included in your account.

Operating systemMinute multiplier
Linux1
Windows2
macOS10

Note

Minute multipliers do not apply to the per-minute rates shown below.

Per-minute rates

Per-minute rates for standard runners

Operating systemPer-minute rate (USD)
Linux 2-core$0.008
Windows 2-core$0.016
macOS 3-core or 4-core (M1 or Intel)$0.08

Per-minute rates for x64-powered larger runners

Operating systemPer-minute rate (USD)
Linux Advanced 2-core$0.008
Linux 4-core$0.016
Linux 8-core$0.032
Linux 16-core$0.064
Linux 32-core$0.128
Linux 64-core$0.256
Windows 4-core$0.032
Windows 8-core$0.064
Windows 16-core$0.128
Windows 32-core$0.256
Windows 64-core$0.512
Windows 4-core GPU$0.14
macOS 12-core$0.12

Per-minute rates for arm64-powered larger runners

Operating systemPer-minute rate (USD)
Linux 2-core$0.005
Linux 4-core$0.01
Linux 8-core$0.02
Linux 16-core$0.04
Linux 32-core$0.08
Linux 64-core$0.16
Windows 2-core$0.01
Windows 4-core$0.02
Windows 8-core$0.04
Windows 16-core$0.08
Windows 32-core$0.16
Windows 64-core$0.32
macOS 6-core (M1)$0.16

Per-minute rates for GPU-powered larger runners

Operating systemPer-minute rate (USD)
Linux 4-core$0.07
Windows 4-core$0.14

Points to note about rates for runners

  • The number of jobs you can run concurrently across all repositories in your user or organization account depends on your GitHub plan. For more information, see "Usage limits, billing, and administration" for GitHub-hosted runners and "About self-hosted runners" for self-hosted runner usage limits.
  • You must manage billing settings and paid features for each of your accounts separately. You can switch between settings for your personal account, organization accounts, and enterprise accounts using the context switcher on each settings page. See "About billing on GitHub."
  • Larger runners are only available for organizations and enterprises using the GitHub Team or GitHub Enterprise Cloud plans.
  • Larger runners are only billed at the per-minute rate for the amount of time workflows are executed on them. There is no cost associated with creating a larger runner that is not being used by a workflow.
  • For larger runners, there is no additional cost for configurations that assign public static IP addresses to a larger runner. For more information on larger runners, see "About larger runners."
  • Included minutes cannot be used for larger runners.
  • The larger runners are not free for public repositories.

Calculating minute and storage spending

To estimate the costs for consumptive services, you can use the GitHub pricing calculator.

At the end of the month, GitHub calculates the cost of minutes and storage used over the amount included in your account.

Sample minutes cost calculation

For example, if your organization uses GitHub Team and allows unlimited spending, using 5,000 minutes could have a total storage and minute overage cost of $56 USD, depending on the operating systems used to run jobs.

  • 5,000 (3,000 Linux and 2,000 Windows) minutes = $56 USD ($24 USD + $32 USD).
    • 3,000 Linux minutes at $0.008 USD per minute = $24 USD.
    • 2,000 Windows minutes at $0.016 USD per minute = $32 USD.

GitHub calculates your storage usage for each month based on hourly usage during that month.

Sample storage cost calculation

Note

GitHub updates your storage space within a 6 to 12-hour window. If you delete artifacts, the available space will be reflected in your account during the next scheduled update.

For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be:

  • 3 GB x 10 days x (24 hours per day) = 720 GB-Hours
  • 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours
  • 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours
  • 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months

At the end of the month, GitHub rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB.

Your GitHub Actions usage shares your account's existing billing date, payment method, and receipt. To view all the subscriptions for your account on GitHub, see "Viewing your subscriptions and billing date."

About spending limits

If you are a monthly-billed customer, your account will have a default spending limit of 0 US dollars (USD), which prevents additional usage of minutes or storage for private repositories beyond the amounts included with your account. If you pay your account by invoice, your account will have an unlimited default spending limit.

If you have an unlimited spending limit or a spending limit set higher than $0 USD, you will be billed for any additional minutes or storage beyond the included amounts in your account, also called overages. GitHub charges usage to the account that owns the repository where a workflow is run. Any coupons on your account do not apply to GitHub Actions overages.

Overages are always billed monthly regardless of your billing term (even if your account is otherwise billed annually).

For information on managing and changing your account's spending limit, see "Managing your spending limit for GitHub Actions."

If your account has outstanding unpaid charges:

  • The storage or minutes included in your account for GitHub Actions and GitHub Packages will not be reset until the payment has been successfully processed.
  • For accounts with storage or minutes remaining for the current billing period, GitHub Actions and GitHub Packages will continue to be available until any included usage has been reached.
  • For accounts that have reached the included usage for the current billing period for GitHub Actions or GitHub Packages, both GitHub Actions and GitHub Packages will be disabled to prevent any further overages.