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 executor | Arquitetura | Processador (CPU) | Memória (RAM) | Armazenamento (SSD) | SO (rótulo de fluxo de trabalho YAML) |
---|---|---|---|---|---|
grande | Intel | 12 | 30 GB | 14 GB | macos-latest-large , macos-12-large , macos-13-large [Beta] |
XLarge | arm64 (M1) | 6 CPU e 8 GPU | 14 GB | 14 GB | macos-latest-xlarge [Beta], macos-13-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
Observação: no momento, esse recurso está em versão beta e sujeito a alterações.
Se você tiver repo: write
acesso a um repositório, poderá exibir uma lista dos executores disponíveis para o repositório.
-
No GitHub.com, navegue até a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, na seção "Gerenciamento", clique em Executores.
-
Revise a lista de executores disponíveis para o repositório.
-
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çãi: Os proprietários de empresas e organizações com privilégios para criar executores têm a opção de criar novos executores a partir desta página. Se você for proprietário de uma empresa ou organização, clique em Novo executor no canto superior direito da lista de executores para adicioná-los 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@v3
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@v3
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@v3
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@v3
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
on: [push]
jobs:
check-bats-version:
runs-on:
labels: macos-latest-xlarge -arm64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '16'
- 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@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
Usar nomes exclusivos para grupos de executores
GitHub Actions exige que os nomes de grupos de executores precisem ser exclusivos no nível da organização. Isso significa que uma organização não poderá mais criar um grupo de executores com o mesmo nome que um na empresa. Além disso, os usuários verão uma faixa de aviso em qualquer grupo de executores que compartilhem o mesmo nome de um grupo na empresa, sugerindo que o grupo da organização deve ser renomeado.
Para evitar ambiguidade, um fluxo de trabalho falhará se houver grupos de executores duplicados na organização e na empresa. Para resolver isso, você pode renomear um dos grupos de executores na organização ou na empresa ou atualizar o arquivo de fluxo de trabalho para adicionar um prefixo ao nome do grupo de executores:
org/
ouorganization/
ent/
ouenterprise/
Exemplo: usar prefixos para diferenciar grupos de executores
Por exemplo, se você tiver um grupo de executores chamado my-group
na organização e outro chamado my-group
na empresa, poderá atualizar seu arquivo de fluxo de trabalho para usar org/my-group
ou ent/my-group
para diferenciar os dois.
Usando org/
:
runs-on:
group: org/my-group
labels: [ self-hosted, label-1 ]
Usando ent/
:
runs-on:
group: ent/my-group
labels: [ self-hosted, label-1 ]
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@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
Usar nomes exclusivos para grupos de executores
GitHub Actions exige que os nomes de grupos de executores precisem ser exclusivos no nível da organização. Isso significa que uma organização não poderá mais criar um grupo de executores com o mesmo nome que um na empresa. Além disso, os usuários verão uma faixa de aviso em qualquer grupo de executores que compartilhem o mesmo nome de um grupo na empresa, sugerindo que o grupo da organização deve ser renomeado.
Para evitar ambiguidade, um fluxo de trabalho falhará se houver grupos de executores duplicados na organização e na empresa. Para resolver isso, você pode renomear um dos grupos de executores na organização ou na empresa ou atualizar o arquivo de fluxo de trabalho para adicionar um prefixo ao nome do grupo de executores:
org/
ouorganization/
ent/
ouenterprise/
Exemplo: usar prefixos para diferenciar grupos de executores
Por exemplo, se você tiver um grupo de executores chamado my-group
na organização e outro chamado my-group
na empresa, poderá atualizar seu arquivo de fluxo de trabalho para usar org/my-group
ou ent/my-group
para diferenciar os dois.
Usando org/
:
runs-on:
group: org/my-group
labels: [ self-hosted, label-1 ]
Usando ent/
:
runs-on:
group: ent/my-group
labels: [ self-hosted, label-1 ]
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.