Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Escolhendo o executor para um trabalho

Defina o tipo de máquina que processará um trabalho no seu fluxo de trabalho.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Visão geral

Use jobs.<job_id>.runs-on para definir o tipo de computador no qual o trabalho será executado.

  • O computador de destino pode ser um executor auto-hospedado.

  • Você pode direcionar executores com base nos rótulos atribuídos a eles.

  • Você pode fornecer runs-on como:

    • uma única cadeia de caracteres
    • uma única variável que contém uma cadeia de caracteres
    • uma matriz de cadeias de caracteres, variáveis que contêm cadeias de caracteres ou uma combinação de ambas
  • Se você especificar uma matriz de cadeias de caracteres ou variáveis, o fluxo de trabalho será executado em qualquer executor que corresponda a todos os valores runs-on especificados. Por exemplo, aqui o trabalho só será executado em um executor auto-hospedado que tenha os rótulos linux, x64 e gpu:

    runs-on: [self-hosted, linux, x64, gpu]
    

    Para obter mais informações, confira "Como escolher executores auto-hospedados".

  • Você pode misturar cadeias de caracteres e variáveis em uma matriz. Por exemplo:

    on:
      workflow_dispatch:
        inputs:
          chosen-os:
            required: true
            type: choice
            options:
            - Ubuntu
            - macOS
    
    jobs:
      test:
        runs-on: [self-hosted, "${{ github.event.inputs.chosen-os }}"]
        steps:
        - run: echo Hello world!
    

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Escolhendo executores hospedados em GitHub

Se você usar um executor hospedado no GitHub, cada trabalho será executado em uma nova instância de uma imagem do executor especificada por runs-on.

Os tipos de executor disponíveis para GitHub são:

Imagem do executor Rótulo de fluxo de trabalho YAML Observações
Windows Server 2022 windows-latest ou windows-2022 Atualmente, o rótulo windows-latest usa a imagem do executor do Windows Server 2022.
Windows Server 2019 windows-2019 Nenhum
Ubuntu 22.04 ubuntu-latest ou ubuntu-22.04 Atualmente, o rótulo ubuntu-latest usa a imagem do executor do Ubuntu 22.04.
Ubuntu 20.04 ubuntu-20.04 Nenhuma
Ubuntu 18.04 [preterido] ubuntu-18.04 Migre para ubuntu-20.04 ou ubuntu-22.04. Para saber mais, confira esta postagem no blog do GitHub.
macOS 13 Ventura [Beta] macos-13 ou macos-13-xl Nenhum
macOS 12 Monterey macos-latest, macos-12, macos-latest-xl ou macos-12-xl Atualmente, os rótulos dos fluxos de trabalho macos-latest e macos-latest-xl usam a imagem do executor do macOS 12. Para obter informações sobre os preços do executor macOS XL (12 núcleos) por minuto, confira "Sobre a cobrança de GitHub Actions".
macOS 11 Big Sur macos-11 Nenhum

Observação: as imagens do executor -latest são as imagens estáveis mais recentes fornecidas pelo GitHub e talvez não seja a versão mais recente do sistema operacional disponível do fornecedor do sistema operacional.

Aviso: as imagens beta e preteridas são fornecidas "no estado em que se encontram", "com todas as falhas" e "conforme disponível" e são excluídas do contrato de nível de serviço e da garantia. As imagens beta podem não ser cobertas pelo atendimento ao cliente.

Exemplo: Especificar um sistema operacional

runs-on: ubuntu-latest

Para obter mais informações, confira "Sobre executores hospedados no GitHub".

Escolhendo executores auto-hospedados

Para especificar um executor auto-hospedado para seu trabalho, configure runs-on no arquivo de fluxo de trabalho com rótulos do executor auto-hospedado.

Todos os executores auto-hospedados têm o rótulo self-hosted. Se você só usar esse rótulo, isso selecionará qualquer executor auto-hospedado. Para selecionar os executores que atendem a determinados critérios, como sistema operacional ou arquitetura, recomendamos fornecer uma matriz de rótulos que começa com self-hosted (isso precisa ser listado primeiro) e, em seguida, inclui rótulos adicionais, conforme necessário. Quando você especificar uma matriz de rótulos, os trabalhos serão colocados na fila nos executores que têm todos os rótulos especificados.

Embora o rótulo self-hosted não seja necessário, recomendamos fortemente especificá-lo ao usar executores auto-hospedados para garantir que o seu trabalho não especifique acidentalmente nenhum executor atual ou futuro hospedado no GitHub.

Exemplo: Usando etiquetas para seleção do executor

runs-on: [self-hosted, linux]

Para obter mais informações, confira "Sobre executores auto-hospedados" e "Usar os executores auto-hospedados em um fluxo de trabalho."