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.

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:

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

Necessário para baixar as ações:

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

Necessário para publicar ações imutáveis:

Shell
ghcr.io

Necessário para upload/download de caches e artefatos de fluxo de trabalho:

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

Necessário para as atualizações de versão do executor:

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

Necessário para recuperar tokens OIDC:

Shell
*.actions.githubusercontent.com

Necessário para baixar ou publicar pacotes ou contêineres em pacotes do GitHub:

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

Necessário para o Git Large File Storage

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

Necessário para trabalhos das 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 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ção USER, caso contrário, você não poderá acessar o GITHUB_WORKSPACE.
  • /github/workflow