Skip to main content
GitHub uses a pay-as-you-go metered billing model for resource-heavy and enterprise features. Common metered products include GitHub Actions, Codespaces, GitHub Packages, GitHub Advanced Security, and Git LFS. This demo uses a small GitHub Actions workflow to illustrate how metered usage and costs differ across runner types.
To view enterprise-level billing and metered usage you must have appropriate enterprise admin or billing permissions. If you only have repository-level access you can still run workflows but won’t see enterprise billing breakdowns.
Goals
  • Create and run a simple cross-platform GitHub Actions workflow that runs the same job on Ubuntu, Windows, and macOS runners.
  • Observe how GitHub records metered runtime and how costs vary by runner SKU.
  • Locate detailed usage and exportable billing reports in the Enterprise Billing UI.
Context I’m working from the dev2 account inside the Game Dev Studio organization (part of an enterprise). I imported a public repository named gh-actions into the Game Dev Studio org. (If you want to restrict visibility to the enterprise, you can choose the internal visibility option during import.) Open the repository and inspect the workflow file under .github/workflows.
A screenshot of a GitHub repository page in dark mode showing the .github/workflows folder with files like CODEOWNERS and cross-platform-runs.yml listed. The interface also shows commit messages, navigation tabs, and branch selection.
Workflow overview
  • Trigger: push and workflow_dispatch (manual runs supported).
  • Jobs: Three parallel jobs that execute the same simple workload on different OS runners so runtime is comparable.
  • Purpose: Keep runtime equal across runners (6 seconds sleep) to compare billable minutes/units and cost per runner SKU.
Here is the exact workflow used in this demo:
How to run the workflow
  1. Ensure Actions are enabled for the repository (Settings → Actions → Enable Actions).
  2. Open the Actions tab, select “Runner Cost Comparison Demo” and click “Run workflow” to trigger a manual run (or push a commit to trigger the push event).
A dark‑themed screenshot of the GitHub Actions page for a repository, showing the "Runner Cost Comparison Demo" workflow. The page indicates there are no workflow runs yet and shows a "Run workflow" button and the left‑side Actions management menu.
Sample console output (Linux job)
What to expect
  • All three jobs complete successfully and each job consumes a short, equal amount of runtime.
  • The workflow itself validates functionality and provides a controlled measurement point for billing differences.
Viewing billing and metered usage To inspect metered billing for enterprise products:
  1. Sign in to your enterprise admin account.
  2. Go to Settings → Billing and licensing → Overview to see current metered usage, included usage, and estimated next payment.
  3. For itemized detail, open Usage → Metered usage where you can filter and group by date, product, or SKU.
The overview page shows an aggregated snapshot of charges and included units.
A dark-mode GitHub "Billing and licensing" overview page. It shows current metered usage (0.16), included usage, estimated next payment (0), and a breakdown of Actions and storage usage.
Usage timeline and spikes In the Metered usage view you’ll see activity spikes corresponding to the runs you executed. Click a data point to drill into specific SKUs and units consumed for that time window.
A dark-themed GitHub billing usage dashboard showing a meter usage chart for Aug 1–31, 2026 with a small spike on Aug 23; the tooltip shows Gross 0.16, Billed 0.00, Discount $0.16. The left sidebar lists billing options (Licensing, Cost centers, Payment information) and a usage breakdown table shows the 23 Aug 2026 entry.
Detailed usage entries Opening a detailed entry reveals:
  • Which runner SKUs were used (e.g., UBUNTU-LATEST, WINDOWS-LATEST, MACOS-LATEST).
  • Number of billing units consumed.
  • Price per unit and gross amounts.
Typical relative cost pattern you can expect: Notes:
  • Exact pricing and SKU names vary by region and account type; always reference your enterprise billing UI for precise unit prices.
  • You can download either a summarized or a detailed CSV usage report for accounting, chargeback, or audit purposes.
A dark-themed GitHub Enterprise "NextGen Gaming" billing and licensing screen showing the Metered usage graph and sidebar nav. A "Get usage report" dialog is open letting the user pick Summarized or Detailed reports and the current month (August 2026) before emailing the report.
Runner pricing varies by OS and SKU. Use Linux runners for the most cost-effective execution when macOS-specific or Windows-specific environments are not required. Download detailed usage reports from the Billing UI when you need precise cost allocation.
Summary and recommendations
  • Use Linux runners whenever possible to minimize metered Actions costs.
  • Reserve macOS runners for build or test steps that require macOS-specific tools or hardware.
  • Regularly export and review Metered usage reports for accurate chargeback and cost optimization.
  • If you manage an enterprise, enforce policies for runner selection and consider self-hosted runners where appropriate to control spend.
Links and references

Watch Video

Practice Lab