Skip to main content

About larger runners

GitHub offers runners with more RAM, CPU, and disk space.

Quién puede usar esta característica

Los Ejecutor más grande solo están disponibles para organizaciones y empresas que usan los planes GitHub Team o GitHub Enterprise Cloud.

Overview of ejecutor más grandes

Además de los ejecutores estándar hospedados por GitHub, GitHub ofrece a los clientes de los planes GitHub Team y GitHub Enterprise Cloud una gama de máquinas virtuales administradas con más RAM, CPU y espacio en disco. Estos ejecutores están hospedados por GitHub y tienen preinstalada la aplicación ejecutor y otras herramientas.

GitHub offers ejecutor más grandes with macOS, Ubuntu, or Windows operating systems, and different features are available depending on which operating system you use. For more information, see "Additional features for ejecutor más grandes."

About Ubuntu and Windows ejecutor más grandes

Ejecutor más grandes with Ubuntu or Windows operating systems are configured in your organization or enterprise. When you add a ejecutor más grande, you are defining a type of machine from a selection of available hardware specifications and operating system images. GitHub will then create multiple instances of this runner that scale up and down to match the job demands of your organization, based on the autoscaling limits you define. For more information, see "Managing larger runners."

Ubuntu and Windows ejecutor más grandes offer autoscaling capabilities and the ability to assign the runners static IP addresses from a specific range. They can also be managed using runner groups, which enables you to control access to the ejecutor más grandes. For more information, see "Additional features for ejecutor más grandes."

About macOS ejecutor más grandes

Ejecutor más grandes with a macOS operating system are used by updating the YAML workflow label to the desired runner image. To run your workflows on a macOS ejecutor más grande, update the runs-on key to use one of the GitHub-defined macOS ejecutor más grande labels. No additional configuration is required. For more information, see "Running jobs on larger runners."

The following machines sizes are available for macOS ejecutor más grandes.

Runner SizeArchitectureProcessor (CPU)Memory (RAM)Storage (SSD)YAML workflow label
LargeIntel1230 GB14 GBmacos-latest-large, macos-12-large , macos-13-large[Beta]
XLargearm64 (M1)6 CPU and 8 GPU14 GB14 GBmacos-latest-xlarge[Beta], macos-13-xlarge[Beta]

Limitations for macOS ejecutor más grandes

  • All actions provided by GitHub are compatible with arm64 Github-hosted runners. However, community actions may not be compatible with arm64 and need to be manually installed at runtime. For more information, see "Running jobs on larger runners."
  • Due to a limitation of Apple's Virtualization Framework, which our hypervisor uses, nested-virtualization is not supported by arm64 runners.

Additional features for ejecutor más grandes

Compared to standard GitHub-hosted runners, ejecutor más grandes have additional features, and their availability varies depending on the ejecutor más grande's operating system.

Operating systemUbuntuWindowsmacOS
Hardware acceleration for Android SDK tools
Static IP addresses
Autoscaling
Runner groups

These features can enhance your CI/CD pipelines in the following ways.

  • Hardware acceleration for the Android SDK tools makes running Android tests much faster and consumes fewer minutes. For more information on Android hardware acceleration, see Configure hardware acceleration for the Android Emulator in the Android Developers documentation.
  • Assigning ejecutor más grandes static IP addresses from a specific range enables you to use this range to configure a firewall allowlist. For more information, see "Networking for ejecutor más grandes."
  • Autoscaling enables ejecutor más grandes to scale up to a maximum limit set by you, so your workflows can run concurrently. For more information, see "Autoscaling ejecutor más grandes."
  • Runner groups allow you to control access to ejecutor más grandes for your organizations, repositories, and workflows. For more information, see "Controlling access to larger runners."

For a full list of included tools for each runner operating system, see the GitHub Actions Runner Images repository.

Understanding billing

Note: Ejecutor más grandes are not eligible for the use of included minutes on private repositories. For both private and public repositories, when ejecutor más grandes are in use, they will always be billed at the per-minute rate.

Compared to standard GitHub-hosted runners, ejecutor más grandes are billed differently. Los Ejecutor más grandes solo se facturan según la tarifa por minuto durante la cantidad de tiempo que se ejecutan flujos de trabajo en ellos. No hay ningún costo asociado a la creación de un ejecutor más grande que no se use en un flujo de trabajo. For more information, see "Acerca de la facturación para las Acciones de GitHub."

Machine sizes for ejecutor más grandes

Processor (CPU)Memory (RAM)Storage (SSD)Operating system (OS)
614 GB14 GBmacOS
1230 GB14 GBmacOS
416 GB150 GBUbuntu
832 GB300 GBUbuntu, Windows
1664 GB600 GBUbuntu, Windows
32128 GB1200 GBUbuntu, Windows
64256 GB2040 GBUbuntu, Windows

About runner groups

Note: Only ejecutor más grandes with Linux or Windows operating systems can be assigned to runner groups.

Runner groups enable administrators to control access to runners at the organization and enterprise levels. With runner groups, you can collect sets of runners and create a security boundary around them. You can then decide which organizations or repositories are permitted to run jobs on those sets of machines. During the ejecutor más grande deployment process, the runner can be added to an existing group, otherwise it will join a default group. You can create a group by following the steps in "Controlling access to larger runners."

Architectural overview of ejecutor más grandes

Note: This architecture diagram only applies to ejecutor más grandes with Linux or Windows operating systems.

Ejecutor más grandes are managed at the organization level, where they are arranged into groups that can contain multiple instances of the runner. They can also be created at the enterprise level and shared with organizations in the hierarchy. Once you've created a group, you can then add a runner to the group and update your workflows to target either the group name or the label assigned to the ejecutor más grande. You can also control which repositories are permitted to send jobs to the group for processing. For more information about groups, see "Controlling access to larger runners."

In the following diagram, a class of hosted runner named ubuntu-20.04-16core has been defined with customized hardware and operating system configuration.

Diagram showing a larger runner being used by a workflow because of the runner's label.

  1. Instances of this runner are automatically created and added to a group called grp-ubuntu-20.04-16core.
  2. The runners have been assigned the label ubuntu-20.04-16core.
  3. Workflow jobs use the ubuntu-20.04-16core label in their runs-on key to indicate the type of runner they need to execute the job.
  4. GitHub Actions checks the runner group to see if your repository is authorized to send jobs to the runner.
  5. The job runs on the next available instance of the ubuntu-20.04-16core runner.

Autoscaling ejecutor más grandes

Note: Autoscaling is only available for ejecutor más grandes with Linux or Windows operating systems.

Ejecutor más grandes can automatically scale to suit your needs. You can provision machines to run a specified maximum number of jobs when jobs are submitted for processing. Each machine only handles one job at a time, so these settings effectively determine the number of jobs that can be run concurrently.

You can configure the maximum job concurrency, which allows you to control your costs by setting the maximum parallel number of jobs that can be run using this set. A higher value here can help avoid workflows being blocked due to parallelism. For more information, see "Managing larger runners."

Networking for ejecutor más grandes

Note: Assigning static IP addresses to runners is only available for ejecutor más grandes with Linux or Windows operating systems.

By default, ejecutor más grandes receive a dynamic IP address that changes for each job run. Optionally, GitHub Enterprise Cloud customers can configure their ejecutor más grandes to receive a static IP address from GitHub's IP address pool. For more information, see "Acerca de las direcciones de IP de GitHub."

When enabled, instances of the ejecutor más grande will receive IP addresses from specific ranges that are unique to the runner, allowing you to use the ranges to configure a firewall allowlist. You can use up to 10 ejecutor más grandes with static IP address ranges for the ejecutor más grandes created at the enterprise level. In addition, you can use up to 10 ejecutor más grandes with static IP address ranges for the ejecutor más grandes created at the organization level, for each organization in your enterprise. For more information, see "Managing larger runners."

Si quiere usar más de 10 ejecutores grandes con intervalos de direcciones IP estáticas, póngase en contacto con Soporte técnico de GitHub.

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