Changelog ao Vivo
Uma página de changelog que se atualiza automaticamente após cada commit via GitHub Actions. Analisa commits convencionais e exibe o histórico de desenvolvimento.
Uma linha do tempo detalhada do desenvolvimento, extraída do histórico de commits do Git. Esta página se atualiza automaticamente após cada push para a branch main.
Carregando changelog...
Como Funciona
O changelog utiliza um workflow do GitHub Actions que:
- Dispara no push — Cada push para
mainexecuta o workflow - Analisa o histórico git — Extrai hash do commit, autor, data e mensagem
- Categoriza commits — Detecta tipos de commits convencionais (feat, fix, chore, etc.)
- Atualiza dados JSON — Grava em
data/changelog.json - Faz commit das mudanças — Usa
[skip ci]para evitar loops infinitos
Tech Stack
| Componente | Tecnologia | Propósito |
|---|---|---|
| Automação | GitHub Actions | Disparar no push para main |
| Script | TypeScript + tsx | Analisar git log e gerar JSON |
| Dados | JSON | Armazenar dados de commits |
| Renderização | Next.js Server Component | Página dinâmica com suporte a idiomas |
| i18n | next-intl | Formatação de data por idioma |
Análise de Commits Convencionais
O script reconhece prefixos padrão de commits convencionais:
feat:— Novas funcionalidadesfix:— Correções de bugschore:— Tarefas de manutençãodocs:— Atualizações de documentaçãorefactor:— Refatoração de códigostyle:— Mudanças de estilotest:— Atualizações de testesperf:— Melhorias de performance
Os commits são categorizados automaticamente e estatísticas são calculadas.
Prevenção de Loops
O GitHub Action evita loops infinitos através de:
- Adicionando
[skip ci]à mensagem do commit - Verificando
if: "!contains(github.event.head_commit.message, '[skip ci]')"no workflow
Arquivos
.github/workflows/update-changelog.yml # GitHub Action
scripts/generate-changelog.ts # Script de geração
data/changelog.json # Dados gerados
lib/types/changelog.ts # Tipos TypeScript
app/[locale]/changelog/page.tsx # Componente da página
components/changelog-stats.tsx # Componente de estatísticas
components/changelog-table.tsx # Componente de tabela
Outcomes
- •Workflow do GitHub Actions dispara em cada push para main
- •Análise de commits convencionais (feat, fix, chore, etc.)
- •Commits agrupados por data com formatação de acordo com o idioma
- •Suporte completo a i18n em 5 idiomas