Skip to main content

Como executar trabalhos em executores maiores

Você pode acelerar seus fluxos de trabalho configurando-os para serem executados em executor maior.

Quem pode usar esse recurso?

Executor maior estão disponíveis apenas para organizações e empresas usando os planos GitHub Team ou GitHub Enterprise Cloud.

Platform navigation

Como executar trabalhos em seu executor

Depois que o tipo de executor for definido, você poderá atualizar os arquivos YAML de fluxo de trabalho para enviar trabalhos às instâncias de executor recém-criadas para processamento. Você pode usar grupos de executores ou rótulos para definir onde seus trabalhos são executados.

Observação: Executor maiors são atribuídos automaticamente a rótulos padrão que correspondem ao nome. Você não pode adicionar rótulos personalizados a executor maior, mas pode usar os rótulos padrão ou o grupo do executor para enviar trabalhos a tipos específicos de executores.

Somente contas de proprietário ou administrador podem ver as configurações do executor. Usuários não administrativos podem entrar em contato com o proprietário da organização para descobrir quais executores estão habilitados. O proprietário da sua organização pode criar novos executores e grupos de executores, bem como configurar permissões para especificar quais repositórios podem acessar um grupo de executores. Para obter mais informações, confira "Gerenciar executores maiores".

Depois que o tipo de executor for definido, você poderá atualizar os arquivos YAML de fluxo de trabalho para enviar trabalhos às instâncias de executor recém-criadas para processamento. Você pode usar grupos de executores ou rótulos para definir onde seus trabalhos são executados.

Observação: Executor maiors são atribuídos automaticamente a rótulos padrão que correspondem ao nome. Você não pode adicionar rótulos personalizados a executor maior, mas pode usar os rótulos padrão ou o grupo do executor para enviar trabalhos a tipos específicos de executores.

Somente contas de proprietário ou administrador podem ver as configurações do executor. Usuários não administrativos podem entrar em contato com o proprietário da organização para descobrir quais executores estão habilitados. O proprietário da sua organização pode criar novos executores e grupos de executores, bem como configurar permissões para especificar quais repositórios podem acessar um grupo de executores. Para obter mais informações, confira "Gerenciar executores maiores".

Depois que o tipo de executor for definido, você poderá atualizar os arquivos YAML do fluxo de trabalho para enviar trabalhos às instâncias do executor para processamento. Para executar trabalhos em executor maiors para macOS, atualize a chave runs-on nos arquivos YAML do seu fluxo de trabalho para usar um dos rótulos definidos pelo GitHub para executores do macOS. Para obter mais informações, consulte "executor maiors macOS disponíveis"

executor maiors macOS disponíveis

Use os rótulos na tabela abaixo para executar seus fluxos de trabalho no executor maior correspondente para macOS.

Tamanho do executorArquiteturaProcessador (CPU)Memória (RAM)Armazenamento (SSD)SO (rótulo de fluxo de trabalho YAML)
grandeIntel1230 GB14 GBmacos-latest-large, macos-12-large , macos-13-large [mais recente] , macos-14-large[Beta]
XLargearm64 (M1)6 CPU e 8 GPU14 GB14 GBmacos-latest-xlarge, macos-13-xlarge [mais recente], macos-14-xlarge[Beta]

Observação: para macOS executor maiors, o rótulo do executor -latest usa a imagem do executor do macOS 12. Para o macOS Xlarge, o rótulo do executor -latest usa a imagem do runner do macOS 13

Exibindo executores disponíveis para um repositório

Se você tiver repo: write acesso a um repositório, poderá exibir uma lista dos executores disponíveis para o repositório.

  1. No GitHub.com, navegue até a página principal do repositório.

  2. No nome do repositório, clique em Ações.

    Captura de tela das guias do repositório "github/docs". A guia "Ações" está realçada com um contorno laranja.

  3. Na barra lateral esquerda, na seção "Gerenciamento", clique em Executores.

  4. Revise a lista de executores disponíveis para o repositório.

  5. Opcionalmente, para copiar o rótulo de um corredor para usá-lo em um fluxo de trabalho, clique em à direita do corredor e clique em Copiar rótulo.

Observação: Os proprietários de empresas e organizações podem criar executores têm a opção de criar novos executores a partir desta página. Para criar um novo executores, clique em Novo executor no canto superior direito da lista de executores para adicionar executores ao repositório.

Para obter mais informações, confira "Gerenciar executores maiores" e "Adicionar executores auto-hospedados".

Usar grupos para controlar onde os trabalhos são executados

Neste exemplo, os executores do Ubuntu foram adicionados a um grupo chamado ubuntu-runners. A chave runs-on envia o trabalho para qualquer executor disponível no grupo ubuntu-runners:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: ubuntu-runners
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Usar grupos para controlar onde os trabalhos são executados

Neste exemplo, os executores do Ubuntu foram adicionados a um grupo chamado ubuntu-runners. A chave runs-on envia o trabalho para qualquer executor disponível no grupo ubuntu-runners:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: ubuntu-runners
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Usar rótulos para controlar onde os trabalhos são executados

Neste exemplo, um grupo de executores é preenchido com executores Ubuntu de 16 núcleos, que também receberam o rótulo ubuntu-20.04-16core. A chave runs-on envia o trabalho para qualquer executor disponível com um rótulo correspondente:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Usar rótulos para controlar onde os trabalhos são executados

Neste exemplo, um grupo de executores é preenchido com executores de 16 núcleos do Windows, aos quais também foi atribuído o rótulo windows-2022-16core. A chave runs-on envia o trabalho para qualquer executor disponível com um rótulo correspondente:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: windows-2022-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Direcionando executor maiors para macOS em um fluxo de trabalho

Para executar seus fluxos de trabalho em executor maiors para macOS, defina o valor da chave runs-on como um rótulo associado a um executor maior para macOS. Para obter uma lista de rótulos de executor maior para macOS, consulte "executor maiors para macOS disponíveis".

Neste exemplo, o fluxo de trabalho usa um rótulo associado aos executores para macOS XL, que é macos-latest-xl -arm64. A chave runs-on envia o trabalho para qualquer executor disponível com um rótulo correspondente:

name: learn-github-actions-testing
on: [push]
jobs:
  build:
    runs-on: macos-13-xlarge
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Usar rótulos e grupos para controlar onde os trabalhos são executados

Quando você combina grupos e rótulos, o executor deve atender aos dois requisitos para ser qualificado para executar o trabalho.

Neste exemplo, um grupo de executores chamado ubuntu-runners é preenchido com executores do Ubuntu, que também receberam o rótulo ubuntu-20.04-16core. A chave runs-on combina group e labels para que o trabalho seja roteado para qualquer executor disponível dentro do grupo que também tenha um rótulo correspondente:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Usar rótulos e grupos para controlar onde os trabalhos são executados

Quando você combina grupos e rótulos, o executor deve atender aos dois requisitos para ser qualificado para executar o trabalho.

Neste exemplo, um grupo de executores chamado ubuntu-runners é preenchido com executores do Ubuntu, que também receberam o rótulo ubuntu-20.04-16core. A chave runs-on combina group e labels para que o trabalho seja roteado para qualquer executor disponível dentro do grupo que também tenha um rótulo correspondente:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Como solucionar problemas de executor maior

Se você observar que os trabalhos direcionados aos seus executor maior estão atrasados ou não estão em execução, há vários fatores que podem estar causando isso.

  • Configurações de simultaneidade: talvez você tenha atingido o limite máximo de simultaneidade. Para permitir que mais trabalhos sejam executados em paralelo, atualize as configurações de dimensionamento automático para um número maior. Para obter mais informações, confira "Gerenciar executores maiores".
  • Permissões de repositório: verifique se você tem as permissões de repositório apropriadas habilitadas para seus executor maior. Por padrão, os executores corporativos não estão disponíveis no nível do repositório e devem ser habilitados manualmente por um administrador da organização. Para obter mais informações, confira "Gerenciar executores maiores".
  • Informações de cobrança: você deve ter um cartão de crédito válido no arquivo para usar executor maior. Depois de adicionar um cartão de crédito à sua conta, pode levar até 10 minutos para habilitar o uso dos executor maior. Para obter mais informações, confira "Adicionar ou editar a forma de pagamento".
  • Limite de gastos: o limite de gastos do GitHub Actions deve ser definido como um valor maior que zero. Para obter mais informações, confira "Gerenciando seu limite de gastos das GitHub Actions".
  • Política de uso justo: GitHub tem uma política de uso justo que começa a limitar os trabalhos com base em vários fatores, como quantos trabalhos você está executando ou quantos trabalhos estão sendo executados em toda a GitHub Actions.

Se você observar que os trabalhos direcionados aos seus executor maior estão atrasados ou não estão em execução, há vários fatores que podem estar causando isso.

  • Configurações de simultaneidade: talvez você tenha atingido o limite máximo de simultaneidade. Para permitir que mais trabalhos sejam executados em paralelo, atualize as configurações de dimensionamento automático para um número maior. Para obter mais informações, confira "Gerenciar executores maiores".
  • Permissões de repositório: verifique se você tem as permissões de repositório apropriadas habilitadas para seus executor maior. Por padrão, os executores corporativos não estão disponíveis no nível do repositório e devem ser habilitados manualmente por um administrador da organização. Para obter mais informações, confira "Gerenciar executores maiores".
  • Informações de cobrança: você deve ter um cartão de crédito válido no arquivo para usar executor maior. Depois de adicionar um cartão de crédito à sua conta, pode levar até 10 minutos para habilitar o uso dos executor maior. Para obter mais informações, confira "Adicionar ou editar a forma de pagamento".
  • Limite de gastos: o limite de gastos do GitHub Actions deve ser definido como um valor maior que zero. Para obter mais informações, confira "Gerenciando seu limite de gastos das GitHub Actions".
  • Política de uso justo: GitHub tem uma política de uso justo que começa a limitar os trabalhos com base em vários fatores, como quantos trabalhos você está executando ou quantos trabalhos estão sendo executados em toda a GitHub Actions.

Como o macOS arm64 não é compatível com o Node 12, executor maiors para macOS usam automaticamente o Node 16 para executar qualquer ação JavaScript escrita para o Node 12. Algumas ações da comunidade podem não ser compatíveis com o Node 16. Se você usar uma ação que exija uma versão diferente do Node, talvez seja necessário instalar manualmente uma versão específica em tempo de execução.