Skip to main content

Solução de problemas de fluxos de trabalho

Você pode usar as ferramentas em GitHub Actions para depurar seus fluxos de trabalho.

Sugestões iniciais de solução de problemas

Há várias maneiras de solucionar problemas de execuções de fluxo de trabalho com falha.

Observação

Se você estiver em uma assinatura GitHub Copilot Free, essa ação debitará do limite mensal de mensagens de chat.

Como usar o GitHub Copilot

Para abrir um chat com o GitHub Copilot sobre uma execução de fluxo de trabalho com falha, você pode:

  • Ao lado da verificação com falha na caixa de mesclagem, clique em e clique em Explain error.
  • Na caixa de mesclagem, clique na verificação com falha. Na parte superior da página resumo da execução do fluxo de trabalho, clique em Explain error.

Isso abrirá uma janela de chat com o GitHub Copilot, que fornecerá instruções para resolver o problema.

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.

Como revisar de erros de cobrança

O uso de ações inclui minutos de executor e armazenamento para artefatos de fluxo de trabalho. Para saber mais, confira Cobrança do GitHub Actions.

Como definir um orçamento

Definir um orçamento do Actions pode ajudar a desbloquear imediatamente os fluxos de trabalho com falha devido a erros de cobrança ou armazenamento. Isso permitirá a cobrança de mais minutos e uso do armazenamento até o valor do orçamento definido. Para saber mais, confira Definir orçamentos para controlar gastos com produtos limitados.

Como revisar atividade do GitHub Actions com métricas

Para analisar a eficiência e a confiabilidade dos seus fluxos de trabalho usando métricas, confira Como ver as métricas do GitHub Actions.

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.

Para obter informações sobre os endereços IP do GitHub, como aqueles usados por executores hospedados pelo GitHub, confira Sobre os endereços IP do GitHub.

Os endereços IP estáticos estão disponíveis para uso com executores maiores hospedados pelo GitHub. Confira Gerenciar executores maiores para obter mais informações.

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.

Rede privada do Azure para executores hospedados pelo GitHub

Podem surgir problemas com o uso de executores hospedados pelo GitHub em suas configurações de VNETs (Redes Virtuais) do Azure definidas.

Para obter conselhos sobre solução de problemas, confiraSolucionando problemas de configurações de rede privada do Azure para executores hospedados no GitHub em sua organização ou Solucionando problemas de configurações de rede privada do Azure para executores hospedados no GitHub em sua empresa nos documentos do GitHub Enterprise Cloud.