| title | Larger runners reference | ||||||
|---|---|---|---|---|---|---|---|
| shortTitle | Larger runners | ||||||
| intro | Find information about larger runners, including their specifications and customization options. | ||||||
| versions |
|
||||||
| redirect_from |
|
||||||
| category |
|
||||||
| contentType | reference |
{% ifversion ghes %}
{% data reusables.actions.enterprise-github-hosted-runners %}
For reference information about larger runners, see the {% data variables.product.prodname_ghe_cloud %} documentation.
{% else %}
You can choose from several specifications for {% data variables.actions.hosted_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 |
[!NOTE] The 4-vCPU Windows runner only works with the Windows Server 2025 or the Base Windows 11 Desktop image.
| 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 |
{% data variables.actions.hosted_runner_caps %}s run on virtual machines (VMs), and {% data variables.product.prodname_dotcom %} 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.
{% data variables.product.prodname_dotcom %}-owned images: These images are maintained by {% data variables.product.prodname_dotcom %} 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 {% data variables.product.prodname_actions %} Runner Images repository.
Partner Images: Partner images are not managed by {% data variables.product.prodname_dotcom %} and are pulled from the Azure Marketplace. See below for resources on where to find more information and to report issues for partner images.
- Base Windows 11 desktop image.
- NVIDIA GPU-Optimized VMI
- Data Science Virtual Machine - Windows 2019.
The following machines are available for macOS {% data variables.actions.hosted_runners %}. When you create a macOS {% data variables.actions.hosted_runner %}, the runner name is also available as a workflow label that you can use with runs-on.
{% data reusables.actions.larger-runners-table %}
{% data reusables.actions.macos-runner-limitations %}
If you notice the jobs that target your {% data variables.actions.hosted_runner %}s are delayed or not running, there are several factors that may be causing this.
- Concurrency settings: You may have reached your maximum concurrency limit. If you would like to enable more jobs to run in parallel, you can update your autoscaling settings to a larger number. See AUTOTITLE.
- Repository permissions: Ensure you have the appropriate repository permissions enabled for your {% data variables.actions.hosted_runner %}s. By default, enterprise runners are not available at the repository level and must be manually enabled by an organization administrator. See AUTOTITLE.
- Billing information: You must have a valid credit card on file in order to use {% data variables.actions.hosted_runner %}s. After adding a credit card to your account, it can take up to 10 minutes to enable the use of your {% data variables.actions.hosted_runner %}s. See AUTOTITLE.
- Spending limit: Your {% data variables.product.prodname_actions %} spending limit must be set to a value greater than zero. See AUTOTITLE.
- Fair use policy: {% data variables.product.company_short %} has a fair use policy that begins to throttle jobs based on several factors, such as how many jobs you are running or how many jobs are running across the entirety of {% data variables.product.prodname_actions %}.
- Job queue to assign time: Job queue to assign time refers to the time between a job request and {% data variables.product.company_short %} assigning a VM to execute the job. Standard {% data variables.product.company_short %}-hosted runners utilizing prescribed YAML workflow labels (such as
ubuntu-latest) are always in a "warm" state. With larger runners, a warm VM may not be ready to pick up a job on first request as the pools for these machines are smaller. As a result, {% data variables.product.company_short %} may need to create a new VM, which increases the queue to assign time. Once a runner is in use, VMs are ready for subsequent workflow runs within 5 minutes. If not used again within that time, a subset of those machines remains warm, reducing the queue to assign time for future workflow runs over the next 24 hours. The higher the volume of jobs you run, the more VMs will remain in the warm pool.
By default, {% data variables.actions.hosted_runners %} receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runners %} to receive static IP addresses from {% data variables.product.prodname_dotcom %}'s IP address pool. For more information, see AUTOTITLE.
When enabled, instances of the {% data variables.actions.hosted_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. {% ifversion fpt %}You can use up to 10 {% data variables.actions.hosted_runners %} with static IP address ranges in total across all your {% data variables.actions.hosted_runners %}{% endif %}{% ifversion ghec %}You can use up to 10 {% data variables.actions.hosted_runners %} with static IP address ranges for the {% data variables.actions.hosted_runners %} created at the enterprise level. In addition, you can use up to 10 {% data variables.actions.hosted_runners %} with static IP address ranges for the {% data variables.actions.hosted_runners %} created at the organization level, for each organization in your enterprise{% endif %}. For more information, see AUTOTITLE.
{% data reusables.actions.larger-runner-static-ip-contact-support %}
Note
If runners are unused for more than 90 days, their IP address ranges are automatically removed and cannot be recovered.
{% endif %}