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.
Observação
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.
Aviso
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.
Executores padrão para repositórios públicos hospedados em GitHub
Para repositórios públicos, os trabalhos que usam os rótulos de fluxo de trabalho mostrados na tabela abaixo serão executados em máquinas virtuais com as especificações associadas. O uso desses executores em repositórios públicos é gratuito e ilimitado.
Máquina virtual | Processador (CPU) | Memória (RAM) | Armazenamento (SSD) | Arquitetura | Rótulo do fluxo de trabalho |
---|---|---|---|---|---|
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 (Visualização Pública) | 4 | 16 GB | 14 GB | arm64 |
ubuntu-24.04-arm , ubuntu-22.04-arm
|
Windows [Visualização 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
|
Observação
Os executores arm64 Linux e Windows estão em versão prévia pública e está sujeito a alterações.
Executores padrão hospedados no GitHub para repositórios internos e repositórios privados
Para repositórios privados do internal and, os trabalhos que usam os rótulos de fluxo de trabalho mostrados na tabela abaixo serão executados em máquinas virtuais com as especificações associadas. Esses executores usam a alocação de minutos gratuitos da sua conta GitHub e, em seguida, são cobrados pelas taxas por minuto. Para saber mais, confira Sobre a cobrança das GitHub Actions.
Máquina virtual | Processador (CPU) | Memória (RAM) | Armazenamento (SSD) | Arquitetura | Rótulo do fluxo de trabalho |
---|---|---|---|---|---|
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
|
Observação
Os executores do macOS não estão disponíveis em subdomínios do GHE.com, como octocorp.ghe.com
.
Workflow logs list the runner used to run a job. For more information, see Visualizar o histórico de execução do fluxo de trabalho.
Limitations for arm64 macOS runners
- Todas as ações fornecidas pelo GitHub são compatíveis com executores arm64 hospedados pelo GitHub. No entanto, as ações da comunidade podem não ser compatíveis com o arm64 e precisam ser instaladas manualmente em tempo de execução.
- A virtualização aninhada e os Metal Performance Shaders (MPS) não são suportados devido à limitação do Virtualization Framework da Apple.
- Os recursos de rede, como a rede privada do Azure e a atribuição de IPs estáticos, não estão disponíveis atualmente para corredores maiores do macOS.
- Os executores macOS arm64 não têm um UUID/UDID estático atribuído a eles porque a Apple não suporta esse recurso. No entanto, os executores Intel MacOS recebem um UDID estático, especificamente
4203018E-580F-C1B5-9525-B745CECA79EB
. Caso esteja criando e assinando no mesmo host no qual planeja testar a compilação, você poderá assinar com um perfil de provisionamento de desenvolvimento. Caso precise de um DID estático, você poderá usar os executores Intel e adicionar seu UDID à sua conta de desenvolvedor da Apple. - Os executores do macOS não estão disponíveis em subdomínios do GHE.com, como
octocorp.ghe.com
.
Executor avançados
Os clientes nos planos GitHub Team e GitHub Enterprise Cloud podem escolher entre várias máquinas virtuais gerenciadas que têm mais recursos do que os executores hospedados standard GitHub-hosted runners. Essas máquinas são chamadas de "executor avançado." Eles oferecem os seguintes recursos avançados:
- Mais RAM, CPU e espaço em disco
- Endereços IP estáticos
- Rede privada do Azure
- A capacidade de agrupar executores
- Dimensionamento automático para oferecer suporte a fluxos de trabalho simultâneos
- Executores movidos a GPU
Esses executores avançados são hospedados pelo GitHub e têm o aplicativo executor e outras ferramentas previamente instalados.
For more information, see Usando executores maiores.
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 Pontos de extremidade da API REST para metadados.
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 executor avançados with a static IP address range, or self-hosted runners. For more information, see Usando executores maiores or Sobre executores auto-hospedados.
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.
Observação
Alguns dos domínios listados são configurados por meio de registros CNAME
. Alguns firewalls podem exigir que você adicione regras de maneira recursiva para todos os registros CNAME
. Observe que os registros CNAME
poderão mudar no futuro e que apenas os domínios listados permanecerão constantes.
Necessário para operações essenciais:
github.com api.github.com *.actions.githubusercontent.com
github.com
api.github.com
*.actions.githubusercontent.com
Necessário para baixar as ações:
codeload.github.com pkg.actions.githubusercontent.com
codeload.github.com
pkg.actions.githubusercontent.com
Necessário para publicar ações imutáveis:
ghcr.io
ghcr.io
Necessário para upload/download de caches e artefatos de fluxo de trabalho:
results-receiver.actions.githubusercontent.com *.blob.core.windows.net
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net
Necessário para as atualizações de versão do executor:
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
Necessário para recuperar tokens OIDC:
*.actions.githubusercontent.com
*.actions.githubusercontent.com
Necessário para baixar ou publicar pacotes ou contêineres em pacotes do GitHub:
*.pkg.github.com pkg-containers.githubusercontent.com ghcr.io
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
Necessário para o Git Large File Storage
github-cloud.githubusercontent.com github-cloud.s3.amazonaws.com
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com
Necessário para trabalhos das 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 Armazenar informações em variáveis.
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
- Observação: o GitHub Actions precisa ser executado pelo usuário padrão do Docker (raiz). Verifique se o Dockerfile não define a instruçãoUSER
, caso contrário, você não poderá acessar oGITHUB_WORKSPACE
./github/workflow