Skip to main content

GitHub-hosted runners reference

Find information about GitHub-hosted runners, including their specifications and customization options.

Supported runners and hardware resources

Ranges of GitHub-hosted runners are available for use in public and private repositories.

For lists of available runners, see:

GitHub-hosted Linux runners support hardware acceleration for Android SDK tools, which 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.

Nota:

The -latest runner images are the latest stable images that GitHub provides, and might not be the most recent version of the operating system available from the operating system vendor.

Advertencia

Beta and Deprecated Images are provided "as-is", "with all faults" and "as available" and are excluded from the service level agreement and warranty. Beta Images may not be covered by customer support.

Ejecutores hospedados en GitHub estándar para repositorios públicos

En el caso de los repositorios públicos, los trabajos que usan las etiquetas de flujo de trabajo que se muestran en la tabla siguiente se ejecutarán en máquinas virtuales con las especificaciones asociadas. El uso de estos ejecutores en repositorios públicos es gratuito e ilimitado.

Máquina virtual Procesador (CPU) Memoria (RAM) Almacenamiento (SSD) Architecture Etiqueta de flujo de trabajo
Linux 4 16 GB 14 GB x64 ubuntu-latest, ubuntu-24.04, ubuntu-22.04
Windows 4 16 GB 14 GB x64 windows-latest, windows-2025, windows-2022, windows-2019
Linux [versión preliminar pública] 4 16 GB 14 GB ARM64 ubuntu-24.04-arm, ubuntu-22.04-arm
Windows [Versión preliminar pública] 4 16 GB 14 GB ARM64 windows-11-arm
macOS 4 14 GB 14 GB Intel macos-13
macOS 3 (M1) 7 GB 14 GB ARM64 macos-latest, macos-14, macos-15

Nota:

Los ejecutores de Linux y Windows arm64 se encuentran en versión preliminar pública y están sujetos a cambios.

Ejecutores GitHub alojados estándar para repositorios internos .

En el caso de los repositorios privados , los trabajos que usan las etiquetas de flujo de trabajo que se muestran en la tabla siguiente se ejecutarán en máquinas virtuales con las especificaciones asociadas. Estos ejecutores usan la asignación de minutos gratuitos de la cuenta GitHub y, a continuación, se cobran según las tarifas por minuto. Para más información, consulta Acerca de la facturación para las Acciones de GitHub.

Máquina virtual Procesador (CPU) Memoria (RAM) Almacenamiento (SSD) Architecture Etiqueta de flujo de trabajo
Linux 2 7 GB 14 GB x64 ubuntu-latest, ubuntu-24.04, ubuntu-22.04
Windows 2 7 GB 14 GB x64 windows-latest, windows-2025, windows-2022, windows-2019
macOS 4 14 GB 14 GB Intel macos-13
macOS 3 (M1) 7 GB 14 GB ARM64 macos-latest, macos-14, macos-15

Workflow logs list the runner used to run a job. For more information, see Visualizar el historial de ejecución del flujo de trabajo.

Limitations for arm64 macOS runners

  • Todas las acciones proporcionadas por GitHub son compatibles con los ejecutores hospedados en arm64 GitHub. Sin embargo, las acciones de la comunidad pueden no ser compatibles con arm64 y deben instalarse manualmente en runtime.
  • No se admiten la virtualización anidada ni Metal Performance Shaders (MPS) debido a la limitación del marco de virtualización de Apple.
  • Las funcionalidades de red, como las redes privadas de Azure y la asignación de direcciones IP estáticas, no están disponibles actualmente para los ejecutores de mayor capacidad de macOS.
  • Los ejecutores de macOS arm64 no tienen asignado un UUID/UDID estático porque Apple no admite esta característica. Sin embargo, a los ejecutores de MacOS de Intel se les asigna un UDID estático, específicamente 4203018E-580F-C1B5-9525-B745CECA79EB. Si va a compilar e iniciar sesión en el mismo host en el que planea probar la compilación, puede iniciar sesión con un perfil de aprovisionamiento de desarrollo. Si necesita un UDID estático, puede usar ejecutores de Intel y agregar su UDID a su cuenta de desarrollador de Apple.

Ejecutor más grandes

Los clientes de los planes GitHub Team y GitHub Enterprise Cloud pueden elegir entre una variedad de máquinas virtuales administradas que tienen más recursos que los ejecutores estándar hospedados en GitHub. A estas máquinas se les conoce como "ejecutor más grande". Ofrecen las siguientes características avanzadas:

  • Más RAM, CPU y espacio en disco
  • Direcciones IP estáticas
  • Redes privadas de Azure
  • La capacidad de agrupar ejecutores
  • Escalado automático para admitir flujos de trabajo simultáneos
  • Ejecutores con tecnología de GPU

Estos ejecutores más grandes están hospedados por GitHub y tienen preinstalada la aplicación de ejecutor y otras herramientas.

For more information, see Uso de ejecutores más grandes.

Administrative privileges

The Linux and macOS virtual machines both run using passwordless sudo. When you need to execute commands or install tools that require more privileges than the current user, you can use sudo without needing to provide a password. For more information, see the Sudo Manual.

Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see How User Account Control works in the Windows documentation.

IP addresses

To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API. For more information, see the actions key in the response of the GET /meta endpoint. For more information, see Puntos de conexión de la API de REST para metadatos.

Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.

Since there are so many IP address ranges for GitHub-hosted runners, we do not recommend that you use these as allowlists for your internal resources. Instead, we recommend you use ejecutor más grandes with a static IP address range, or self-hosted runners. For more information, see Uso de ejecutores más grandes or Acerca de los ejecutores autohospedados.

The list of GitHub Actions IP addresses returned by the API is updated once a week.

Communication requirements for GitHub-hosted runners

A GitHub-hosted 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 GitHub-hosted runners between networks within your configuration, ensure that the following communications are allowed.

Nota:

Algunos de los dominios que se enumeran antes se configuran mediante registros CNAME. Es posible que algunos firewalls necesiten agregar reglas de forma recursiva para todos los registros CNAME. Tenga en cuenta que es posible que los registros CNAME cambien en el futuro y que solo los dominios enumerados permanezcan constantes.

Necesarios para operaciones esenciales:

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

Necesarios para acciones de descarga:

Shell
codeload.github.com
pkg.actions.githubusercontent.com

Necesario para publicar acciones inmutables:

Shell
ghcr.io

Necesarios para cargar o descargar resúmenes de trabajos, registros, artefactos de flujo de trabajo y cachés:

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

Necesarios para las actualizaciones de versión del ejecutor:

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

Necesarios para recuperar tokens de OIDC:

Shell
*.actions.githubusercontent.com

Necesario para descargar o publicar paquetes o contenedores en GitHub Packages:

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

Se necesita para Almacenamiento de archivos de gran tamaño de Git

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

Necesario para los trabajos para Dependabot updates

Shell
dependabot-actions.githubapp.com

File systems

GitHub executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables GitHub provides to construct file paths for the home, workspace, and workflow directories.

DirectoryEnvironment variableDescription
homeHOMEContains user-related data. For example, this directory could contain credentials from a login attempt.
workspaceGITHUB_WORKSPACEActions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access.
workflow/event.jsonGITHUB_EVENT_PATHThe POST payload of the webhook event that triggered the workflow. GitHub rewrites this each time an action executes to isolate file content between actions.

For a list of the environment variables GitHub creates for each workflow, see Almacenamiento de información en variables.

Docker container filesystem

Actions that run in Docker containers have static directories under the /github path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.

GitHub reserves the /github path prefix and creates three directories for actions.

  • /github/home
  • /github/workspace - Nota: El usuario de Docker predeterminado (root) debe ejecutar GitHub Actions. Asegúrese de que Dockerfile no establece la instrucción USER; de lo contrario, no podrás acceder a GITHUB_WORKSPACE.
  • /github/workflow