> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Demo Billing Models and Metered Products

> Demonstrates GitHub's metered billing using a cross-platform Actions workflow to compare runtime costs across Ubuntu Windows and macOS runners and view enterprise metered usage reports

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.](https://mintcdn.com/kodekloud-c4ac6d9a/IdpF6mT8Tun72cng/images/GitHub-Administration-Certification/Foundation-Setup/Demo-Billing-Models-and-Metered-Products/github-dark-dotgithub-workflows-screenshot.jpg?fit=max\&auto=format\&n=IdpF6mT8Tun72cng\&q=85\&s=5139e223a124174d17d525500230a783)

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:

```yaml theme={null}
name: Runner Cost Comparison Demo

on:
  push:
  workflow_dispatch:

jobs:
  run-linux:
    name: Run on Linux
    runs-on: ubuntu-latest
    steps:
      - name: Work step
        run: |
          echo "Running on Linux (2-core x64)..."
          sleep 6

  run-windows:
    name: Run on Windows
    runs-on: windows-latest
    steps:
      - name: Work step
        run: |
          echo "Running on Windows (2-core x64)..."
          Start-Sleep -Seconds 6

  run-macos:
    name: Run on macOS
    runs-on: macos-latest
    steps:
      - name: Work step
        run: |
          echo "Running on macOS (3-core M1 / M2)..."
          sleep 6
```

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.](https://mintcdn.com/kodekloud-c4ac6d9a/IdpF6mT8Tun72cng/images/GitHub-Administration-Certification/Foundation-Setup/Demo-Billing-Models-and-Metered-Products/github-actions-runner-cost-demo.jpg?fit=max\&auto=format\&n=IdpF6mT8Tun72cng\&q=85\&s=25010bc5b0c70c3038f68df0cfb9a582)

Sample console output (Linux job)

```bash theme={null}
Run echo "Running on Linux (2-core x64)..."
echo "Running on Linux (2-core x64)..."
sleep 6
shell: /usr/bin/bash -e {0}
Running on Linux (2-core x64)...
```

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.](https://mintcdn.com/kodekloud-c4ac6d9a/IdpF6mT8Tun72cng/images/GitHub-Administration-Certification/Foundation-Setup/Demo-Billing-Models-and-Metered-Products/github-billing-licensing-dark-overview.jpg?fit=max\&auto=format\&n=IdpF6mT8Tun72cng\&q=85\&s=d69a89eb939b779ebbd832b218ce6b59)

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.](https://mintcdn.com/kodekloud-c4ac6d9a/IdpF6mT8Tun72cng/images/GitHub-Administration-Certification/Foundation-Setup/Demo-Billing-Models-and-Metered-Products/github-billing-aug2026-usage-spike-aug23.jpg?fit=max\&auto=format\&n=IdpF6mT8Tun72cng\&q=85\&s=55de895c54b87a4faf8904ee262f8428)

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:

| Runner OS | Typical SKU example | Relative cost vs. Linux |
| - | - | - |
| Linux | `ubuntu-latest` | Baseline (1×) |
| Windows | `windows-latest` | \~2× Linux |
| macOS | `macos-latest` | \~10× Linux (order of magnitude higher) |

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.](https://mintcdn.com/kodekloud-c4ac6d9a/IdpF6mT8Tun72cng/images/GitHub-Administration-Certification/Foundation-Setup/Demo-Billing-Models-and-Metered-Products/github-enterprise-nextgen-gaming-metered-usage.jpg?fit=max\&auto=format\&n=IdpF6mT8Tun72cng\&q=85\&s=92bc1e0caf39c41df1cbd26a07475a9a)

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

* [GitHub Actions documentation](https://docs.github.com/en/actions)
* [GitHub Billing documentation](https://docs.github.com/en/billing)
* For the demo workflow and a tutorial on cross-platform runs, see the linked GitHub repository in this lesson.

> [card] [Watch Video](https://learn.kodekloud.com/user/courses/github-administration-certification/module/348b2245-ed3e-4fb7-bf18-37a18b478769/lesson/9b591c81-5553-46a0-92ba-d8b9ae8763e4)

> [card] [Practice Lab](https://learn.kodekloud.com/user/courses/github-administration-certification/module/348b2245-ed3e-4fb7-bf18-37a18b478769/lesson/6550330e-3020-407e-a8fa-7036425cce8a)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.