Curso de Git y GitHub

Toma las primeras clases gratis

🚀 Tutorial: Automatiza el historial de actividad de tu perfil de GitHub con GitHub Actions

Aporte para la comunidad de Platzi | Curso de Git y GitHub

📌 Introducción

Mientras avanzaba en el curso de Git y GitHub de Platzi, me encontré con un problema al intentar implementar la automatización del historial de actividad en el README.md de mi perfil.

El código que aparece en el curso puede presentar errores relacionados con la configuración o con la ejecución de la Action. Al investigar, encontré una alternativa que me funcionó: TheDanniCraft/activity-log.

Comparto este tutorial por si algún compañero está experimentando el mismo inconveniente. La idea es mantener actualizado el perfil de GitHub automáticamente, sin tener que editar el README cada vez que hagamos una contribución.

🎯 ¿Qué vamos a conseguir?

Al terminar, tendremos un flujo de trabajo que:

  • Actualiza automáticamente el historial de actividad de nuestro perfil.
  • Registra eventos públicos compatibles, como commits, creación de ramas, issues y pull requests.
  • Se ejecuta automáticamente cada 12 horas.
  • Permite ejecutar la actualización manualmente desde GitHub.
  • Guarda los cambios en el repositorio mediante una GitHub Action.

🧰 Requisitos previos

Antes de empezar, necesitas:

  • Una cuenta de GitHub.
  • Un repositorio de perfil. Normalmente, su nombre coincide exactamente con tu nombre de usuario de GitHub.
  • Un archivo README.md en la raíz de ese repositorio.
  • Conocimientos básicos de Git, GitHub y archivos YAML.

Si todavía no tienes tu README de perfil, consulta la documentación oficial de GitHub sobre tu perfil.

1. Añadir el espacio donde aparecerá la actividad

Abre el archivo README.md de tu repositorio de perfil.

En el lugar donde quieras mostrar el historial, agrega estos marcadores:

## ⚡ Actividad reciente

<!--START_SECTION:activity-->
<!--END_SECTION:activity-->

¿Para qué sirven?

La Action utiliza estos marcadores para identificar qué parte del README debe actualizar. El contenido generado se insertará entre ambos comentarios HTML.

No elimines los marcadores ni cambies sus nombres.

2. Crear un Personal Access Token (PAT)

Necesitamos un token para que la Action pueda consultar la actividad y actualizar el repositorio con los permisos correspondientes.

Generar el token

  1. Entra en GitHub Personal Access Tokens.
  2. Selecciona la opción para generar un token. Puedes utilizar un token clásico si sigues la configuración recomendada por el proyecto.
  3. Asigna un nombre descriptivo, por ejemplo: GitHub Activity Log.
  4. Configura los permisos necesarios. La guía del proyecto recomienda el alcance repo para su configuración con un token clásico.
  5. Genera el token y cópialo en un lugar seguro.

Consulta también las instrucciones oficiales del proyecto: TheDanniCraft/activity-log.

Importante: un PAT funciona como una credencial. No lo pegues en el README, en el archivo YAML, en una captura pública ni directamente en el código. Si lo publicas por accidente, revócalo y genera uno nuevo.

3. Guardar el token como un secreto del repositorio

No vamos a escribir el token directamente en el workflow. Lo guardaremos como un secreto de GitHub.

  1. Abre tu repositorio de perfil.
  2. Entra en Settings.
  3. Ve a Secrets and variables → Actions.
  4. Haz clic en New repository secret.
  5. Utiliza estos valores:

CampoValor

Name

TOKEN

Secret

El PAT que acabas de generar

  1. Guarda el secreto.

Más adelante lo utilizaremos con esta expresión:

${{ secrets.TOKEN }}

El nombre debe coincidir exactamente. Si guardas el secreto como TOKEN, no debes referenciarlo como PAT o GITHUB_TOKEN dentro de secrets.

4. Crear el workflow de GitHub Actions

En tu repositorio, crea esta ruta si todavía no existe:

.github/
└── workflows/
    └── activity-log.yml

El archivo activity-log.yml contendrá la configuración de nuestra automatización.

Copia el siguiente código y reemplaza TU_USUARIO por tu nombre de usuario real de GitHub:

name: Update GitHub Activity

on:
  schedule:
    - cron: "0 */12 * * *"
  workflow_dispatch:

jobs:
  update-activity:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Update GitHub Activity
        uses: TheDanniCraft/activity-log@v1
        with:
          GITHUB_USERNAME: "TU_USUARIO"
          GITHUB_TOKEN: ${{ secrets.TOKEN }}

¿Qué significa cada parte?

name

name: Update GitHub Activity

Es el nombre que veremos en la sección Actions de nuestro repositorio.

schedule

schedule:
  - cron: "0 */12 * * *"

Define la frecuencia de ejecución automática. En este caso, la Action se programa para ejecutarse cada 12 horas.

workflow_dispatch

workflow_dispatch:

Permite ejecutar el workflow manualmente desde la pestaña Actions, sin esperar al siguiente horario programado.

runs-on

runs-on: ubuntu-latest

Indica que el trabajo se ejecutará en un entorno Ubuntu proporcionado por GitHub.

actions/checkout@v4

Prepara el repositorio para que el trabajo pueda acceder a sus archivos.

TheDanniCraft/activity-log@v1

Es la Action que consulta la actividad compatible de GitHub y actualiza el README.

GITHUB_USERNAME y GITHUB_TOKEN

Identifican la cuenta cuya actividad se consultará y proporcionan el token almacenado como secreto.

5. Entender la expresión cron

La expresión cron puede parecer complicada al principio, pero se compone de cinco campos:

minuto hora día-del-mes mes día-de-la-semana

Por ejemplo:

0 */12 * * *

Se interpreta así:

CampoValorSignificado

Minuto

0

En el minuto cero

Hora

*/12

Cada 12 horas

Día del mes

*

Cualquier día

Mes

*

Cualquier mes

Día de la semana

*

Cualquier día de la semana

Otros ejemplos útiles:

Expresión cronFrecuencia

*/30 * * * *

Cada 30 minutos

0 */6 * * *

Cada 6 horas

0 */12 * * *

Cada 12 horas

0 8,20 * * *

A las 08:00 y 20:00

0 0 * * *

Todos los días a medianoche

Por defecto, los horarios de schedule se interpretan en UTC, salvo que se configure una zona horaria compatible en el workflow. Además, GitHub puede retrasar las ejecuciones programadas cuando hay mucha carga.

Puedes consultar más ejemplos en la documentación oficial de GitHub Actions sobre eventos y cron.

6. Guardar los cambios y ejecutar la Action

Cuando hayas terminado de crear los archivos y editar el README:

  1. Guarda los cambios.
  2. Haz commit y push a la rama principal de tu repositorio.
  3. Entra en tu repositorio de GitHub.
  4. Abre la pestaña Actions.
  5. Selecciona Update GitHub Activity.
  6. Pulsa Run workflow y confirma la ejecución manual.

Espera a que termine el proceso y revisa el resultado.

Si todo funciona correctamente, deberías poder comprobar que la ejecución terminó sin errores y que el README se actualizó con el historial de actividad.

También puedes abrir el archivo README.md en GitHub para verificar el resultado.

7. ¿Qué hacer si no funciona?

Aquí tienes una lista rápida para diagnosticar los errores más habituales:

ProblemaQué comprobar

No aparece la actividad

Que los marcadores START_SECTION y END_SECTION estén en el README

Error de autenticación

Que el secreto TOKEN exista y que el PAT sea válido

No se actualiza el README

Que el token tenga los permisos necesarios y que la Action pueda escribir los cambios

El workflow no se ejecuta automáticamente

Que el archivo esté en .github/workflows/ y en la rama predeterminada

No aparece una actividad concreta

Que el evento sea público y esté entre los tipos admitidos por la Action

La ejecución termina con errores

Abrir el registro del trabajo fallido en la pestaña Actions y revisar el mensaje concreto

¿Y si el código del profesor sigue fallando?

Si estabas utilizando otra Action, por ejemplo una configuración basada en Readme-Workflows/recent-activity, no basta necesariamente con cambiar el nombre de la Action en el YAML: cada proyecto puede requerir archivos de configuración, parámetros y marcadores diferentes.

La alternativa de este tutorial utiliza su propia configuración y documentación. Por eso recomiendo seguir los pasos completos y no mezclar fragmentos de ambas implementaciones.

8. Documentación y enlaces útiles

🎉 Conclusión

Con esta configuración podemos automatizar el historial de actividad de nuestro perfil de GitHub utilizando una GitHub Action y un workflow programado.

Espero que este aporte les ahorre tiempo a quienes se encuentren con problemas al seguir el código del curso. Si descubren otra solución o encuentran algún ajuste que mejore esta configuración, ¡sería genial compartirlo con la comunidad!

¡Seguimos aprendiendo y construyendo juntos! 💻🚀

Curso de Git y GitHub

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados