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.