Skip to main content

Uso de registros de flujo de trabajo

Puedes ver, buscar y descargar los registros de cada tarea en una ejecución de flujo de trabajo.

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. Debe iniciar sesión en una GitHub cuenta para ver la información de ejecución del flujo de trabajo, incluidos los repositorios públicos. Para más información, consulta 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 use la API de comprobaciones para generar los estados, los resultados y los registros de un flujo de trabajo. GitHub crea un nuevo conjunto de comprobaciones 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:

Asegúrate de confirmar únicamente en el repositorio los archivos de flujo de trabajo válidos. 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.

Además de los pasos configurados en el archivo de flujo de trabajo, GitHub agrega dos pasos adicionales a cada trabajo para configurar y completar la ejecución del trabajo. Estos pasos se registran en la ejecución del flujo de trabajo con los nombres "Configurar tarea" y "Completar tarea".

En el caso de los trabajos que se ejecutan en GitHubejecutores hospedados, "Configurar trabajo" registra los detalles de la imagen del ejecutor e incluye un vínculo a la lista de herramientas preinstaladas que estaban presentes en el equipo ejecutor.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Actions.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. 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.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. Cualquier paso que falle se expandirá automáticamente para mostrar los resultados.

  7. 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.

    Captura de pantalla de los registros de un trabajo. Los registros de un paso con errores aparecen expandidos y un número de línea se muestra resaltado con un contorno naranja.

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.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Actions.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. 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.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. 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 registros

Puedes descargar los archivos de registro desde la ejecución del flujo de trabajo. También puedes descargar los artefactos de un flujo de trabajo. Para más información, consulta Almacenamiento y uso compartido de datos con artefactos de flujo de trabajo. Se requiere tener acceso de lectura en el repositorio para llevar a cabo estos pasos.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Actions.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. 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.

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que quiera ver.

  6. En la esquina superior derecha del registro, seleccione el menú desplegable y haga clic en Descargar archivo de registro.

    Captura de pantalla del registro de un trabajo. En el encabezado, aparece un icono de engranaje en naranja oscuro.

Nota:

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 registros

Puede eliminar los archivos de registro del flujo de trabajo a través de la GitHub interfaz web 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 GitHub interfaz web

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Actions.

    Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.

  3. En la barra lateral izquierda, da clic en el flujo de trabajo que quieras ver.

    Captura de pantalla de la barra lateral izquierda de la pestaña "Acciones". Un flujo de trabajo, "CodeQL", se destaca en naranja oscuro.

  4. 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.

  5. En la esquina superior derecha, seleccione el menú desplegable y haga clic en Eliminar todos los registros.

    Captura de pantalla de la página para la ejecución de un flujo de trabajo. En la esquina superior derecha, un botón, etiquetado con un icono de kebab, aparece en naranja oscuro.

  6. Revisa el mensaje 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:

  1. Copie el ejemplo de código y guárdelo en un archivo denominado delete-logs.sh.

  2. Conceda permisos de ejecución con chmod +x delete-logs.sh.

  3. Ejecute el comando siguiente, donde REPOSITORY_NAME es el nombre del repositorio y WORKFLOW_NAME es el nombre de archivo del flujo de trabajo.

    Shell
    ./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

Bash
#!/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

Visualización de registros con GitHub CLI

Nota:

Para más información sobre GitHub CLI, consulta Acerca de GitHub CLI.

Para ver el registro de un trabajo específico, use el subcomando run view. Sustituya run-id por la ID de la ejecución de la que desee ver los registros. GitHub CLI devuelve un menú interactivo para que elijas un trabajo de la ejecución actual. Si no especifica run-id, GitHub CLI devuelve un menú interactivo para que elija una ejecución reciente y, a continuación, otro menú interactivo para que elija un trabajo de esa ejecución.

gh run view RUN_ID --log

También puede usar la marca --job para especificar un identificador de trabajo. Reemplace job-id con el ID del trabajo del que quieras 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