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:
github.com api.github.com *.actions.githubusercontent.com
github.com
api.github.com
*.actions.githubusercontent.com
Necesarios para acciones de descarga:
codeload.github.com pkg.actions.githubusercontent.com
codeload.github.com
pkg.actions.githubusercontent.com
Necesario para publicar acciones inmutables:
ghcr.io
ghcr.io
Necesarios para cargar o descargar resúmenes de trabajos, registros, artefactos de flujo de trabajo y cachés:
results-receiver.actions.githubusercontent.com *.blob.core.windows.net
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net
Necesarios para las actualizaciones de versión del ejecutor:
objects.githubusercontent.com objects-origin.githubusercontent.com github-releases.githubusercontent.com github-registry-files.githubusercontent.com
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com
Necesarios para recuperar tokens de OIDC:
*.actions.githubusercontent.com
*.actions.githubusercontent.com
Necesario para descargar o publicar paquetes o contenedores en GitHub Packages:
*.pkg.github.com pkg-containers.githubusercontent.com ghcr.io
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
Se necesita para Almacenamiento de archivos de gran tamaño de Git
github-cloud.githubusercontent.com github-cloud.s3.amazonaws.com
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com
Necesario para los trabajos para Dependabot updates
dependabot-actions.githubapp.com
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.
Directory | Environment variable | Description |
---|---|---|
home | HOME | Contains user-related data. For example, this directory could contain credentials from a login attempt. |
workspace | GITHUB_WORKSPACE | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. |
workflow/event.json | GITHUB_EVENT_PATH | The 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ónUSER
; de lo contrario, no podrás acceder aGITHUB_WORKSPACE
./github/workflow