Skip to main content
Skip to content

GitHub Actions billing

Learn how usage of GitHub Actions is measured against your free allowance and how to pay for additional use.

How use of GitHub Actions is measured

GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners. See Choosing the runner for a job.

For private repositories, each GitHub account receives a quota of free minutes, artifact storage, and cache storage for use with GitHub-hosted runners, depending on the account's plan. Any usage beyond the included amounts is billed to your account.

  • Minutes: Your free minutes reset to the full amount at the start of each billing cycle. Minutes usage is charged to the repository owner, not the person who triggered the workflow runs.
  • Storage: Storage charges accumulate throughout the month based on hourly usage. Your accrued storage charges reset to zero at the start of each billing cycle.

Tip

Anyone with write access to a repository can run actions. Any costs of running the actions are billed to the repository owner.

Copilot code review and GitHub Actions minutes

Each Copilot code review consumes GitHub Actions minutes in addition to AI credits.

  • Private repositories: Minutes are consumed from your account or organization's existing plan entitlement. Any usage beyond your included minutes is billed at standard GitHub Actions rates.
  • Public repositories: Minutes remain free.

Copilot code review runs on standard GitHub-hosted Ubuntu Linux runners by default. You can also configure GitHub-hosted larger runners or self-hosted runners via Actions Runner Controller (ARC), which are billed at different rates.

How storage billing works

GitHub Actions storage billing operates on an hourly accrual model:

  • Continuous billing: Storage charges accrue every hour based on your actual usage throughout the month
  • Monthly total: Your bill reflects the total storage used throughout the month, measured in GB-Hours
  • Included amount: The free storage allowance for your plan (for example, 50 GB on the Enterprise plan) is converted to an hourly rate for billing calculations
  • Shared storage: Actions artifacts and GitHub Packages storage share the same pooled allowance. See GitHub Packages billing.
  • Cache storage: Actions cache storage is a separate allowance of 10 GB per repository. Cache storage is not shared with artifacts or GitHub Packages.
  • Custom image storage: Storage for custom images used with GitHub-hosted larger runners has its own included allowance based on your plan.

Understanding current vs. accrued storage

It's important to understand the difference between what you see on GitHub and what appears on your bill:

  • Current storage: The amount of storage you have right now
  • Accrued storage: The cumulative total of storage used throughout the billing cycle (determines your bill)

When you delete artifacts:

  • Current storage decreases immediately
  • Future hourly charges stop accumulating
  • Storage already accrued during the current billing cycle remains in your total and will appear on your bill

Example (30-day billing cycle): If you store 10 GB of artifacts for 10 days, then delete everything on day 11:

  • Days 1-10: Accruing 240 GB-Hours per day (10 GB × 24 hours)
  • Day 11: Delete artifacts → current storage drops to 0 GB