Larger runners reference

Find information about larger runners, including their specifications and customization options.

Machine sizes for larger runners

You can choose from several specifications for larger runners.

Specifications for general larger runners

CPU Memory (RAM) Storage (SSD) Architecture Operating system (OS)
5 14 GB 14 GB arm64 (M2) macOS
12 30 GB 14 GB x64 (Intel) macOS
2 8 GB 75 GB x64, arm64 Ubuntu
4 16 GB 150 GB x64, arm64 Ubuntu, Windows
8 32 GB 300 GB x64, arm64 Ubuntu, Windows
16 64 GB 600 GB x64, arm64 Ubuntu, Windows
32 128 GB 1200 GB x64, arm64 Ubuntu, Windows
64 208 GB 2040 GB arm64 Ubuntu, Windows
64 256 GB 2040 GB x64 Ubuntu, Windows
96 384 GB 2040 GB x64 Ubuntu, Windows

The 4-vCPU Windows runner only works with the Windows Server 2025 or the Base Windows 11 Desktop image.

Specifications for GPU larger runners

CPU GPU GPU card Memory (RAM) GPU memory (VRAM) Storage (SSD) Operating system (OS)
4 1 Tesla T4 28 GB 16 GB 176 GB Ubuntu, Windows

Runner images

Larger runners run on virtual machines (VMs), and GitHub installs a virtual hard disk (VHD) on this machine during the VM creation process. You can choose from different VM images to install on your runners.

GitHub-owned images: These images are maintained by GitHub and are available for Linux (x64 and arm64), Windows (x64 and arm64), and macOS (x64 and arm64) runners. For more information on these images and a full list of included tools for each runner operating system, see the GitHub Actions Runner Images repository.

Partner Images: Partner images are not managed by GitHub and are pulled from the Azure Marketplace. See below for resources on where to find more information and to report issues for partner images.

Available macOS larger runners and labels

The following machines are available for macOS larger runners. When you create a macOS larger runner, the runner name is also available as a workflow label that you can use with runs-on.

Runner Size Architecture Processor (CPU) Memory (RAM) Storage (SSD) Workflow label
Large Intel 12 30 GB 14 GB macos-latest-large, macos-14-large, macos-15-large (latest), macos-26-large
XLarge arm64 (M2) 5 (+ 8 GPU hardware acceleration) 14 GB 14 GB macos-latest-xlarge, macos-14-xlarge, macos-15-xlarge (latest), macos-26-xlarge, xcode-27-xlarge

Limitations for macOS larger runners

Troubleshooting larger runners

If you notice the jobs that target your larger runners are delayed or not running, there are several factors that may be causing this.

Networking for larger runners

By default, larger runners receive a dynamic IP address that changes for each job run. Optionally, GitHub Enterprise Cloud customers can configure their larger runners to receive static IP addresses from GitHub's IP address pool. For more information, see About GitHub's IP addresses.

When enabled, instances of the larger runner will receive IP addresses from specific ranges that are unique to the runner, allowing you to use the ranges to configure a firewall allowlist. Each larger runner is a pool that automatically scales out to its configured maximum concurrency, and all jobs in that pool share the same static IP address range. This means you do not need to create additional runners to run more concurrent jobs. You can use up to 10 larger runner pools with static IP address ranges in total across all your larger runners. For more information, see Managing larger runners.

If you would like to use more than 10 larger runner pools with static IP address ranges, please contact us through the GitHub Support portal.

Note

If runners are unused for more than 90 days, their IP address ranges are automatically removed and cannot be recovered.

Communication requirements for larger runners

A larger runner must establish connections to GitHub-owned endpoints to perform essential communication operations. In addition, your runner may require access to additional networks that you specify or utilize within an action.

To ensure proper communications for larger runners between networks within your configuration, ensure that the following communications are allowed.

Note

Some of the domains listed are configured using CNAME records. Some firewalls might require you to add rules recursively for all CNAME records. Note that the CNAME records might change in the future, and that only the domains listed will remain constant.

Needed for essential operations:

github.com
api.github.com
*.actions.githubusercontent.com

Needed for downloading actions:

codeload.github.com

Needed for uploading/downloading job summaries, logs, workflow artifacts, and caches:

results-receiver.actions.githubusercontent.com
*.blob.core.windows.net

Needed for runner version updates:

objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com

Needed for retrieving OIDC tokens:

*.actions.githubusercontent.com

Needed for downloading or publishing packages or containers to GitHub Packages:

*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io

Needed for Git Large File Storage

github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com

Needed for jobs for Dependabot updates

dependabot-actions.githubapp.com

Needed for downloading release assets:

release-assets.githubusercontent.com

Needed for VNet:

api.snapcraft.io
*.core.windows.net