Observação
No momento, não há suporte para executores hospedados no GitHub no GitHub Enterprise Server.
Sugestões iniciais de solução de problemas
Há várias maneiras de solucionar problemas de execuções de fluxo de trabalho com falha.
Usando logs de execução de fluxo de trabalho
A execução de cada fluxo de trabalho gera registros de atividade que você pode visualizar, pesquisar e baixar. Para saber mais, confira Usando logs de execução de fluxo de trabalho.
Habilitando o log de depuração
Se os logs do fluxo de trabalho não fornecerem detalhes suficientes para diagnosticar o motivo pelo qual um fluxo de trabalho, um trabalho ou uma etapa não está funcionando como esperado, habilite o log de depuração adicional. Para saber mais, confira Habilitando o log de depuração.
Se o fluxo de trabalho usar ferramentas ou ações específicas, habilitar suas opções de depuração ou log detalhado poderá ajudar a gerar uma saída mais detalhada para a solução de problemas.
Por exemplo, você pode usar npm install --verbose
para npm ou GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
para git.
Solução de problemas de gatilhos de fluxo de trabalho
Você pode examinar o campo on:
do fluxo de trabalho para entender o que é esperado que dispare o fluxo de trabalho. Para saber mais, confira Acionando um fluxo de trabalho.
Para obter uma lista completa de eventos disponíveis, confira Eventos que disparam fluxos de trabalho.
Condições de evento de gatilho
Alguns eventos de gatilho só são executados no branch padrão (ou seja, issues
, schedule
). As versões de arquivo de fluxo de trabalho que existem fora do branch padrão não serão disparadas s nesses eventos.
Os fluxos de trabalho não serão executados na atividade pull_request
se a solicitação de pull tiver um conflito de mesclagem.
Fluxos de trabalho que de outra forma seriam disparados na atividade de push
ou pull_request
serão ignorados se a mensagem do commit contiver uma anotação de ignorar. Para saber mais, confira Ignorar execuções de fluxo de trabalho.
Fluxos de trabalho agendados em execução em horários inesperados
Eventos agendados podem ser atrasados durante períodos de cargas altas de execuções de fluxo de trabalho do GitHub Actions.
Os tempos de carregamento altos incluem o início de cada hora. Se a carga for suficientemente alta o suficiente, alguns trabalhos enfileirados talvez sejam descartados. Para diminuir a probabilidade de atraso, agende o fluxo de trabalho para ser executado em uma parte diferente da hora. Para saber mais, confira Eventos que disparam fluxos de trabalho.
Filtragem e limites de comparação
Eventos específicos permitem filtrar por branch, marca e/ou caminhos que você pode personalizar. A criação da execução do fluxo de trabalho será ignorada se as condições de filtro se aplicarem para filtrar o fluxo de trabalho.
Você pode usar caracteres especiais com filtros. Para saber mais, confira Sintaxe de fluxo de trabalho para o GitHub Actions.
Para filtragem de caminho, a avaliação de diferenças é limitada aos primeiros 300 arquivos. Se houver arquivos alterados sem correspondência nos primeiros 300 arquivos retornados pelo filtro, o fluxo de trabalho não será executado. Para saber mais, confira Sintaxe de fluxo de trabalho para o GitHub Actions.
Solucionar problemas de execução do fluxo de trabalho
A execução do fluxo de trabalho envolve todos os problemas vistos depois que o fluxo de trabalho foi disparado e uma execução de fluxo de trabalho foi criada.
Como cancelar fluxos de trabalho
Se o cancelamento padrão por meio da UI ou da API não for processado conforme o esperado, talvez uma instrução condicional configurada para seus trabalhos de fluxo de trabalho em execução esteja impedindo o cancelamento.
Nesses casos, você pode aproveitar a API para forçar o cancelamento da execução. Para saber mais, confira Pontos de extremidade da API REST para execuções de fluxo de trabalho.
Uma causa comum pode ser usar a always()
função de verificação de status que retorna true
mesmo em caso de cancelamento. Uma alternativa é usar o inverso da função cancelled()
, ${{ !cancelled() }}
.
Para saber mais, confira Usando condições para controlar a execução do trabalho e Cancelar a execução do fluxo de trabalho.
Como solucionar problemas de executores
Como definir rótulos de executor
Executores hospedados pelo GitHub usam rótulos predefinidos mantidos por meio do repositório actions/runner-images
.
É recomendável usar nomes de rótulo exclusivos para executores maiores e auto-hospedados. Se um rótulo corresponder a qualquer um dos rótulos predefinidos, poderá haver problemas de atribuição de executor em que não há garantia em qual opção de executor correspondente o trabalho será executado.
Executores auto-hospedados
Se você usar executores auto-hospedados, você poderá ver a atividade deles e diagnosticar problemas comuns.
Para saber mais, confira Monitorar e solucionar problemas de executores auto-hospedados.
Sugestões de solução de problemas de rede
Nosso suporte é limitado a problemas de rede que envolvem:
- Suas redes
- Redes externas
- Sistemas de terceiros
- Conectividade com a Internet geral
Para exibir o status da plataforma em tempo real do GitHub, verifique o status do GitHub.
Para outros problemas relacionados à rede, examine as configurações de rede da sua organização e verifique o status dos serviços de terceiros que você está acessando. Se os problemas persistirem, considere entrar em contato com os administradores de rede para obter mais assistência.
Se você não tiver certeza sobre o problema, entre em contato com o Suporte do GitHub. Para obter detalhes sobre como entrar em contato com o suporte, confira Entrando em contato com o suporte do GitHub.
DNS
Os problemas podem ocorrer devido a erros de configuração, resolução ou resolvedor do DNS (Sistema de Nomes de Domínio). Recomendamos examinar os logs disponíveis, a documentação do fornecedor ou consultar os administradores para obter mais assistência.
Firewalls
As atividades podem ser bloqueadas por firewalls. Se isso ocorrer, pode ser útil examinar os logs disponíveis, a documentação do fornecedor ou consultar os administradores para obter mais assistência.
Proxies
As atividades podem falhar ao usar um proxy para comunicações. É uma boa prática examinar os logs disponíveis, a documentação do fornecedor ou consultar os administradores para obter assistência adicional.
Confira Usar um servidor proxy com os executores auto-hospedados para obter informações sobre como configurar o aplicativo executor para utilizar um proxy.
Sub-redes
É possível encontrar problemas com sub-redes em uso ou sobreposições com uma rede existente, como no provedor de nuvem virtual ou em redes do Docker. Nesses casos, recomendamos examinar sua topologia de rede e sub-redes em uso.
Certificados
Podem ocorrer problemas de cadeias de certificados autoassinados ou personalizados e repositórios de certificados. Você pode verificar se um certificado em uso não expirou e é confiável no momento. Os certificados podem ser inspecionados com curl
ou ferramentas semelhantes. Você também pode examinar os logs disponíveis, a documentação do fornecedor ou consultar os administradores para obter assistência adicional.
Listas de IP
Listas de permissão ou negação de IP podem interromper as comunicações esperadas. Se houver um problema, examine os logs disponíveis, a documentação do fornecedor ou consulte os administradores para obter assistência adicional.
Sistemas operacionais e aplicativos de software
Além de firewalls ou proxies, personalizações executadas para executores hospedados pelo GitHub, como instalar pacotes de software adicionais, podem resultar em interrupções de comunicação. Para obter informações sobre as opções de personalização disponíveis, confira Personalizando executores hospedados no GitHub.
-
Para executores auto-hospedados, saiba mais sobre os pontos de extremidade necessários em Referência de executores auto-hospedados.
-
Para obter ajuda sobre como configurar o WireGuard, confira Usar o WireGuard para criar uma sobreposição de rede.
-
Para obter detalhes sobre como configurar o OpenID Connect (OIDC), confira Usando um gateway de API com o OIDC.