🚀 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.mden 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
- Entra en GitHub Personal Access Tokens.
- Selecciona la opción para generar un token. Puedes utilizar un token clásico si sigues la configuración recomendada por el proyecto.
- Asigna un nombre descriptivo, por ejemplo:
GitHub Activity Log. - Configura los permisos necesarios. La guía del proyecto recomienda el alcance
repopara su configuración con un token clásico. - 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.
- Abre tu repositorio de perfil.
- Entra en Settings.
- Ve a Secrets and variables → Actions.
- Haz clic en New repository secret.
- Utiliza estos valores:
CampoValor
Name
TOKEN
Secret
El PAT que acabas de generar
- 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:
- Guarda los cambios.
- Haz commit y push a la rama principal de tu repositorio.
- Entra en tu repositorio de GitHub.
- Abre la pestaña Actions.
- Selecciona Update GitHub Activity.
- 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
- Action utilizada en este tutorial: TheDanniCraft/activity-log
- Guía del autor sobre cómo automatizar un README: How to automate your GitHub README
- Documentación de GitHub Actions: Workflow syntax
- Eventos que activan los workflows: Events that trigger workflows
- Administrar Personal Access Tokens: GitHub token settings
- Crear y personalizar tu README de perfil: GitHub Docs
🎉 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
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE