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.