Puedes ver si una ejecución de flujo de trabajo está en curso o completa desde la página de ejecución del flujo de trabajo. Debes haber iniciado sesión en una cuenta de GitHub para ver la información de ejecución del flujo de trabajo, incluyendo los casos de repositorios públicos. Para obtener más información, vea «Permisos de acceso en GitHub».
Si la ejecución está completa, puedes ver si el resultado fue exitoso, fallido, cancelado o neutral. Si la ejecución falló, puedes ver y buscar en los registros de construcción para diagnosticar la falla y volver a ejecutar el flujo de trabajo. También puedes ver los minutos de ejecución facturables para jobs, o descargar bitácoras y artefactos de compilación.
GitHub Actions usa la API de verificaciones para generar estados, resultados y registros para un flujo de trabajo. GitHub crea una nueva comprobación de suite para cada ejecución de flujo de trabajo. La comprobación de suite contiene una ejecución de comprobación para cada trabajo en el flujo de trabajo, y cada trabajo incluye diferentes pasos. GitHub Actions se ejecutan como un paso en un flujo de trabajo. Para más información sobre las API de comprobación, consulta "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.
Ver registros para diagnosticar fallas
Si falla la ejecución de su flujo de trabajo, puedes ver qué paso provocó el error y revisar los registros de construcción del paso que falló para solucionar el problema. Puedes ver el tiempo que demoró cada paso en ejecutarse. También puedes copiar un enlace permanente a una línea específica en el archivo de registro para compartir con tu equipo. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
Adicionalmente a los pasos que se configuraron en el archivo de flujo de trabajo, GitHub agrega dos pasos adicionales a cada job para configurar y completar la ejecución del flujo de trabajo. Estos pasos se registran en la ejecución del flujo de trabajo con los nombres de "Set up job" y "Complete job".
Para trabajos que se ejecutan en ejecutores hospedados en GitHub, "Configurar un trabajo" registra los detalles de la imagen del ejecutor, e incluye un enlace a la lista de herramientas preinstaladas que estaban presentes en la máquina del ejecutor.
-
En GitHub, navegue hasta 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.
Buscar registros
Puedes buscar en los registros de construcción un paso en particular. Cuando buscas registros, solo los pasos ampliados se incluyen en los resultados. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
-
En GitHub, navegue hasta 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.
-
En la esquina superior derecha de la salida del registro, escriba una consulta de búsqueda en el cuadro de búsqueda Buscar registros.
Descargar bitácoras
Puedes descargar los archivos de bitácora desde tu ejecución de flujo de trabajo. También puedes descargar los artefactos de un flujo de trabajo. Para obtener más información, vea «Almacenamiento y uso compartido de datos desde un flujo de trabajo». Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.
-
En GitHub, navegue hasta 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.
-
En la esquina superior derecha del registro, selecciona el menú desplegable y, a continuación, haz clic en Descargar archivo de registro.
Note
Al descargar el archivo de registro para un flujo de trabajo que se ha vuelto a ejecutar parcialmente, este archivo solo incluirá los trabajo que se hayan ejecutado de nuevo. Para obtener un conjunto completo de bitácoras para los jobs que se ejecutaron desde un flujo de trabajo, debes descargar los archivos de bitácora de los intentos de ejecución previos que ejecutaron los otros jobs.
Borrar bitácoras
Puede eliminar los archivos de registro del flujo de trabajo a través de la interfaz web GitHub o mediante programación. Se requiere tener acceso de escritura en el repositorio para llevar a cabo estos pasos.
Eliminación de registros a través de la interfaz web GitHub
-
En GitHub, navegue hasta 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 la esquina superior derecha, selecciona el menú desplegable y, luego, haz clic en Eliminar todos los registros.
-
Revisa la solicitud de confirmación.
Después de eliminar los registros, se quita el botón Eliminar todos los registros para indicar que no hay archivos de registro en la ejecución de flujo de trabajo.
Eliminación de registros mediante programación
Puede usar el siguiente script para eliminar automáticamente todos los registros de un flujo de trabajo. Esto puede ser una manera útil de limpiar los registros de varias ejecuciones de flujo de trabajo.
Para ejecutar el script de ejemplo siguiente:
-
Copie el ejemplo de código y guárdelo en un archivo denominado
delete-logs.sh
. -
Conceda permisos de ejecución con
chmod +x delete-logs.sh
. -
Ejecute el comando siguiente, donde
REPOSITORY_NAME
es el nombre del repositorio yWORKFLOW_NAME
es el nombre de archivo del flujo de trabajo.Shell ./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
Por ejemplo, para eliminar todos los registros del repositorio
monalisa/octocat
del flujo de trabajo.github/workflows/ci.yaml
, ejecutaría./delete-logs.sh monalisa/octocat ci.yaml
.
Script de ejemplo
#!/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 las bitácoras con GitHub CLI
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
Para ver el registro de un trabajo específico, use el subcomando run view
. Reemplace run-id
por el id. de la ejecución para la que quiera ver los registros. GitHub CLI devuelve un menú interactivo para que elijas un job de la ejecución. Si no especifica run-id
, GitHub CLI devuelve un menú interactivo para que seleccione una ejecución reciente y, después, devuelve otro menú interactivo para que elija un trabajo de la ejecución.
gh run view RUN_ID --log
También puede usar la marca --job
para especificar un identificador de trabajo. Reemplace job-id
por el id. del trabajo para el que quiera ver los registros.
gh run view --job JOB_ID --log
Puede usar grep
para buscar en el registro. Por ejemplo, este comando devolverá todas las entradas de registro que contengan la palabra error
.
gh run view --job JOB_ID --log | grep error
Para filtrar los registros de los pasos con errores, use --log-failed
en lugar de --log
.
gh run view --job JOB_ID --log-failed