Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.
You can see whether a workflow run is in progress or complete from the workflow run page. You must be logged in to a GitHub account to view workflow run information, including for public repositories. For more information, see "Permisos de acceso en GitHub."
If the run is complete, you can see whether the result was a success, failure, canceled, or neutral. If the run failed, you can view and search the build logs to diagnose the failure and re-run the workflow. You can also view billable job execution minutes, or download logs and build artifacts.
GitHub Actions use the Checks API to output statuses, results, and logs for a workflow. GitHub creates a new check suite for each workflow run. The check suite contains a check run for each job in the workflow, and each job includes steps. GitHub Actions are run as a step in a workflow. For more information about the Checks API, see "Puntos de conexión de la API de REST para comprobaciones."
Nota: Debe asegurarse de confirmar solo los archivos de flujo de trabajo válidos en el repositorio. Si .github/workflows
contiene un archivo de flujo de trabajo que no es válido, GitHub Actions genera una ejecución de flujo de trabajo con error por cada confirmación nueva.
Viewing logs to diagnose failures
If your workflow run fails, you can see which step caused the failure and review the failed step's build logs to troubleshoot. You can see the time it took for each step to run. You can also copy a permalink to a specific line in the log file to share with your team. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
In addition to the steps configured in the workflow file, GitHub adds two additional steps to each job to set up and complete the job's execution. These steps are logged in the workflow run with the names "Set up job" and "Complete job".
For jobs run on GitHub-hosted runners, "Set up job" records details of the runner image, and includes a link to the list of preinstalled tools that were present on the runner machine.
-
En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Acciones.
-
En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.
-
En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.
-
En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.
-
Cualquier paso que falle se expandirá automáticamente para mostrar los resultados.
-
De manera opcional, para obtener un enlace a una línea específica de los registros, haz clic en el número de línea del paso. Ahora podrás copiar el enlace de la barra de direcciones de tu buscador web.
Searching logs
You can search the build logs for a particular step. When you search logs, only expanded steps are included in the results. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
-
En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Acciones.
-
En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.
-
En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.
-
En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.
-
In the upper-right corner of the log output, in the Search logs search box, type a search query.
Downloading logs
You can download the log files from your workflow run. You can also download a workflow's artifacts. For more information, see "Almacenar los datos de los flujos de trabajo como artefactos." Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
-
En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Acciones.
-
En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.
-
En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.
-
En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.
-
In the upper right corner of the log, select the dropdown menu, then click Download log archive.
Note: When you download the log archive for a workflow that was partially re-run, the archive only includes the jobs that were re-run. To get a complete set of logs for jobs that were run from a workflow, you must download the log archives for the previous run attempts that ran the other jobs.
Deleting logs
You can delete the log files from your workflow runs through the GitHub web interface or programmatically. Se requiere tener acceso de escritura en el repositorio para llevar a cabo estos pasos.
Deleting logs via the GitHub web interface
-
En tu instancia de GitHub Enterprise Server, navega a la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Acciones.
-
En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.
-
En la lista de ejecuciones de flujo de trabajo, haz clic en el nombre de la ejecución para ver el resumen de la ejecución de flujo de trabajo.
-
In the upper-right corner, select the dropdown menu, then click Delete all logs.
-
Review the confirmation prompt.
After deleting logs, the Delete all logs button is removed to indicate that no log files remain in the workflow run.
Deleting logs programmatically
You can use the following script to automatically delete all logs for a workflow. This can be a useful way to clean up logs for multiple workflow runs.
To run the example script below:
-
Copy the code example and save it to a file called
delete-logs.sh
. -
Grant it the execute permission with
chmod +x delete-logs.sh
. -
Run the following command, where
REPOSITORY_NAME
is the name of your repository andWORKFLOW_NAME
is the file name of your workflow.Shell ./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
For example, to delete all of the logs in the
monalisa/octocat
repository for the.github/workflows/ci.yaml
workflow, you would run./delete-logs.sh monalisa/octocat ci.yaml
.
Example script
#!/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
Viewing logs with GitHub CLI
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
To view the log for a specific job, use the run view
subcommand. Replace run-id
with the ID of run that you want to view logs for. GitHub CLI returns an interactive menu for you to choose a job from the run. If you don't specify run-id
, GitHub CLI returns an interactive menu for you to choose a recent run, and then returns another interactive menu for you to choose a job from the run.
gh run view RUN_ID --log
You can also use the --job
flag to specify a job ID. Replace job-id
with the ID of the job that you want to view logs for.
gh run view --job JOB_ID --log
You can use grep
to search the log. For example, this command will return all log entries that contain the word error
.
gh run view --job JOB_ID --log | grep error
To filter the logs for any failed steps, use --log-failed
instead of --log
.
gh run view --job JOB_ID --log-failed