Note
No momento, não há suporte para executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Na página de execução de fluxo de trabalho, você pode verificar se a execução está em andamento ou foi concluída. Você deve estar conectado a uma conta GitHub para visualizar as informações da execução do seu fluxo de trabalho, incluindo os repositórios públicos. Para obter mais informações, confira "Permissões de acesso no GitHub".
Se a execução estiver concluída, será possível ver se o resultado teve êxito, se houve falha, se foi cancelado ou se ficou neutro. Em caso de falha, você poderá exibir e pesquisar os logs de criação para diagnosticar a falha e executar o fluxo de trabalho novamente. Você também pode visualizar os minutos da execução do trabalho faturável ou fazer o download dos registros e criar artefatos.
O GitHub Actions usa a API de Verificação para mostrar os status, resultados e logs de um fluxo de trabalho. O GitHub cria um novo conjunto de verificações para cada execução de fluxo de trabalho. O conjunto de verificações contêm uma execução de verificação para cada trabalho no fluxo de trabalho, e cada trabalho inclui etapas. As ações do GitHub Actions são executadas como etapas no fluxo de trabalho. Para saber mais sobre a API de Verificações, confira "Pontos de extremidade da API REST para verificações".
Note
Faça commit apenas de arquivos de fluxo de trabalho válidos em seu repositório. Se .github/workflows
contiver um arquivo de fluxo de trabalho inválido, GitHub Actions gerará uma execução de fluxo de trabalho com falha para cada nova confirmação.
Exibir logs para diagnosticar falhas
Se houver falha na execução do fluxo de trabalho, você poderá ver qual etapa causou a falha e revisar os logs de criação da etapa com falha para resolver os problemas. Também é possível ver a duração da execução de cada etapa. Além disso, você pode copiar um permalink para determinada linha no arquivo de log a fim de compartilhar com a sua equipe. É necessário o acesso de leitura ao repositório é para executar essas etapas.
Além das etapas configuradas no arquivo do fluxo de trabalho, GitHub acrescenta duas etapas adicionais a cada trabalho para configurar e concluir a execução do trabalho. Estas etapas estão registradas na execução do fluxo de trabalho com os nomes "Configurar trabalho" e "Concluir trabalho".
Para trabalhos executados em executores hospedados no GitHub, "Configurar trabalho" registra os detalhes da imagem do executor e inclui um link para a lista de ferramentas pré-instaladas que estavam presentes na máquina do executor.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Na lista de execuções de fluxo de trabalho, clique no nome da execução para ver o resumo da execução do fluxo de trabalho.
-
Em Trabalhos ou no grafo de visualização, clique no trabalho que deseja ver.
-
Todas as etapas com falha são automaticamente expandidas para exibir os resultados.
-
Para obter um link para uma linha específica nos logs, clique no número da linha da etapa. Em seguida, você pode copiar o link da barra de endereço do seu navegador da web.
Pesquisar logs
É possível pesquisar os logs de criação em determinadas etapas. Na pesquisa dos logs, somente as etapas expandidas são incluídas nos resultados. É necessário o acesso de leitura ao repositório é para executar essas etapas.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Na lista de execuções de fluxo de trabalho, clique no nome da execução para ver o resumo da execução do fluxo de trabalho.
-
Em Trabalhos ou no grafo de visualização, clique no trabalho que deseja ver.
-
No canto superior direito da saída do log, na caixa de pesquisa Pesquisar logs, digite uma consulta de pesquisa.
Fazer download dos registros
Você pode fazer o download dos arquivos de registro da execução do seu fluxo de trabalho. Você também pode fazer o download dos artefatos de um fluxo de trabalho. Para obter mais informações, confira "Armazenando e compartilhando dados de um fluxo de trabalho". É necessário o acesso de leitura ao repositório é para executar essas etapas.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Na lista de execuções de fluxo de trabalho, clique no nome da execução para ver o resumo da execução do fluxo de trabalho.
-
Em Trabalhos ou no grafo de visualização, clique no trabalho que deseja ver.
-
No canto superior direito do log, selecione o menu suspenso e clique em Baixar arquivo morto de log.
Note
Quando você baixa o arquivo morto de log de um fluxo de trabalho que foi parcialmente executado novamente, o arquivo morto só inclui os trabalhos que foram executados de novo. Para obter um conjunto completo de registro para trabalhos foram executados de um fluxo de trabalho, você deverá fazer o download dos arquivos de registro para as tentativas de execução anteriores que executaram os outros trabalhos.
Excluir registros
Você pode excluir os arquivos de log do fluxo de trabalho executado por meio da interface da Web do GitHub ou programaticamente. É necessário o acesso de gravação ao repositório é para executar essas etapas.
Excluir logs por meio da interface da Web do GitHub
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Na lista de execuções de fluxo de trabalho, clique no nome da execução para ver o resumo da execução do fluxo de trabalho.
-
No canto superior direito, selecione o menu suspenso e clique em Excluir todos os logs.
-
Leia o aviso de confirmação.
Após a exclusão dos logs, o botão Excluir todos os logs é removido para indicar que nenhum arquivo de log permanece na execução de fluxo de trabalho.
Excluir logs programaticamente
Você pode usar o script a seguir para excluir automaticamente todos os logs de um fluxo de trabalho. Essa pode ser uma maneira útil de limpar logs para várias execuções de fluxo de trabalho.
Para executar o script de exemplo abaixo:
-
Copie o exemplo de código e salve-o em um arquivo chamado
delete-logs.sh
. -
Conceda a ele a permissão de execução com
chmod +x delete-logs.sh
. -
Execute o comando a seguir, em que
REPOSITORY_NAME
é o nome do repositório eWORKFLOW_NAME
é o nome do arquivo do fluxo de trabalho.Shell ./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
Por exemplo, para excluir todos os logs no repositório
monalisa/octocat
do fluxo de trabalho.github/workflows/ci.yaml
, você executaria./delete-logs.sh monalisa/octocat ci.yaml
.
Script de exemplo
#!/usr/bin/env bash # Delete all logs for a given workflow # Usage: delete-logs.sh <repository> <workflow-name> set -oe pipefail REPOSITORY=$1 WORKFLOW_NAME=$2 # Validate arguments if [[ -z "$REPOSITORY" ]]; then echo "Repository is required" exit 1 fi if [[ -z "$WORKFLOW_NAME" ]]; then echo "Workflow name is required" exit 1 fi echo "Getting all completed runs for workflow $WORKFLOW_NAME in $REPOSITORY" RUNS=$( gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "/repos/$REPOSITORY/actions/workflows/$WORKFLOW_NAME/runs" \ --paginate \ --jq '.workflow_runs[] | select(.conclusion != "") | .id' ) echo "Found $(echo "$RUNS" | wc -l) completed runs for workflow $WORKFLOW_NAME" # Delete logs for each run for RUN in $RUNS; do echo "Deleting logs for run $RUN" gh api \ --silent \ --method DELETE \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "/repos/$REPOSITORY/actions/runs/$RUN/logs" || echo "Failed to delete logs for run $RUN" # Sleep for 100ms to avoid rate limiting sleep 0.1 done
#!/usr/bin/env bash
# Delete all logs for a given workflow
# Usage: delete-logs.sh <repository> <workflow-name>
set -oe pipefail
REPOSITORY=$1
WORKFLOW_NAME=$2
# Validate arguments
if [[ -z "$REPOSITORY" ]]; then
echo "Repository is required"
exit 1
fi
if [[ -z "$WORKFLOW_NAME" ]]; then
echo "Workflow name is required"
exit 1
fi
echo "Getting all completed runs for workflow $WORKFLOW_NAME in $REPOSITORY"
RUNS=$(
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$REPOSITORY/actions/workflows/$WORKFLOW_NAME/runs" \
--paginate \
--jq '.workflow_runs[] | select(.conclusion != "") | .id'
)
echo "Found $(echo "$RUNS" | wc -l) completed runs for workflow $WORKFLOW_NAME"
# Delete logs for each run
for RUN in $RUNS; do
echo "Deleting logs for run $RUN"
gh api \
--silent \
--method DELETE \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$REPOSITORY/actions/runs/$RUN/logs" || echo "Failed to delete logs for run $RUN"
# Sleep for 100ms to avoid rate limiting
sleep 0.1
done
Visualizar registros com GitHub CLI
Note
Para saber mais sobre GitHub CLI, confira "Sobre o a CLI do GitHub".
Para ver o log de um trabalho específico, use o subcomando run view
. Substitua run-id
pela ID da execução para a qual deseja ver os logs. GitHub CLI retorna um menu interativo para você escolher um trabalho a partir da execução. Se você não especificar run-id
, a GitHub CLI retornará um menu interativo para você escolher uma execução recente e outro menu interativo para você escolher um trabalho da execução.
gh run view RUN_ID --log
Use também o sinalizador --job
para especificar uma ID de trabalho. Substitua job-id
pela ID do trabalho para o qual você deseja ver os logs.
gh run view --job JOB_ID --log
Use grep
para pesquisa no log. Por exemplo, este comando retornará todas as entradas do log que contêm a palavra error
.
gh run view --job JOB_ID --log | grep error
Para filtrar os logs para ver todas as etapas com falha, use --log-failed
em vez de --log
.
gh run view --job JOB_ID --log-failed