Changelog en Vivo
Una página de changelog que se actualiza automáticamente después de cada commit vía GitHub Actions. Analiza commits convencionales y muestra el historial de desarrollo.
Una línea de tiempo detallada del desarrollo, extraída del historial de commits de Git. Esta página se actualiza automáticamente después de cada push a la rama main.
Cargando changelog...
Cómo Funciona
El changelog utiliza un workflow de GitHub Actions que:
- Se ejecuta en push — Cada push a
mainejecuta el workflow - Analiza el historial git — Extrae hash del commit, autor, fecha y mensaje
- Categoriza commits — Detecta tipos de commits convencionales (feat, fix, chore, etc.)
- Actualiza datos JSON — Escribe en
data/changelog.json - Hace commit de los cambios — Usa
[skip ci]para prevenir loops infinitos
Tech Stack
| Componente | Tecnología | Propósito |
|---|---|---|
| Automatización | GitHub Actions | Ejecutar en push a main |
| Script | TypeScript + tsx | Analizar git log y generar JSON |
| Datos | JSON | Almacenar datos de commits |
| Renderizado | Next.js Server Component | Página dinámica con soporte de idiomas |
| i18n | next-intl | Formato de fecha por idioma |
Análisis de Commits Convencionales
El script reconoce prefijos estándar de commits convencionales:
feat:— Nuevas funcionalidadesfix:— Correcciones de bugschore:— Tareas de mantenimientodocs:— Actualizaciones de documentaciónrefactor:— Refactorización de códigostyle:— Cambios de estilotest:— Actualizaciones de testsperf:— Mejoras de rendimiento
Los commits se categorizan automáticamente y se calculan estadísticas.
Prevención de Loops
El GitHub Action evita loops infinitos mediante:
- Agregando
[skip ci]al mensaje del commit - Verificando
if: "!contains(github.event.head_commit.message, '[skip ci]')"en el workflow
Archivos
.github/workflows/update-changelog.yml # GitHub Action
scripts/generate-changelog.ts # Script de generación
data/changelog.json # Datos generados
lib/types/changelog.ts # Tipos TypeScript
app/[locale]/changelog/page.tsx # Componente de página
components/changelog-stats.tsx # Componente de estadísticas
components/changelog-table.tsx # Componente de tabla
Outcomes
- •Workflow de GitHub Actions se ejecuta en cada push a main
- •Análisis de commits convencionales (feat, fix, chore, etc.)
- •Commits agrupados por fecha con formato según el idioma
- •Soporte completo de i18n en 5 idiomas