Systematic Release Management
Esta skill guia o Release Manager (ou o desenvolvedor) através de um processo seguro e padronizado de release.
Fluxo de Trabalho
Phase 1: Pre-Release Check (Segurança)
- •Git Clean Check: Verifique se o diretório de trabalho está limpo.
- •IMPORTANTE: Todo o código da versão (features/fixes) já deve estar commitado ANTES de iniciar o release.
- •Cmd:
git status --porcelain(Deve estar vazio)
- •Testes: Executar suite de testes para garantir que nada está quebrado.
- •Ação: Rode os testes unitários/integração relevantes. Se falhar, ABORTE.
Phase 2: Version Analysis (Planejamento)
- •Identificar Versão Atual: Leia a versão atual do
lib/core.shou arquivo equivalente. - •Analisar Commits: Liste os commits desde a última tag para entender o impacto.
- •Cmd:
git log $(git describe --tags --abbrev=0)..HEAD --oneline
- •Cmd:
- •Advanced Discovery:
- •Busque por arquivos que contenham a versão atual para garantir que nada foi esquecido.
- •Cmd:
grep -r "vCURRENT_VERSION" . --exclude-dir={.git,node_modules,vendor}
- •Determinar Incremento:
- •MAJOR: Quebra de compatibilidade (Breaking changes).
- •MINOR: Novas features compatíveis (Feat).
- •PATCH: Correções de bugs (Fix, Docs, Chore, Style).
- •Definir Nova Versão: Calcule o número exato (ex: 3.3.0 -> 3.3.1).
Phase 3: Content Updates (Execução)
- •Atualizar Arquivos de Versão:
- •Substitua a string de versão em TODOS os arquivos mapeados (libs, configs, readmes).
- •Atualizar Changelog:
- •Crie uma nova seção no topo do
CHANGELOG.md. - •Data: Hoje (YYYY-MM-DD).
- •Agrupe os commits em seções: 🚀 Novidades, ⚡ Melhorias, 🐛 Correções.
- •Crie uma nova seção no topo do
Phase 4: Finalization (Release)
- •Verificação Visual: Use
git diffpara rever as mudanças automáticas. - •Commit de Release:
- •Mensagem Padrão:
chore(release): prepare vX.Y.Z
- •Mensagem Padrão:
- •Version Tag:
- •Cmd:
git tag -a vX.Y.Z -m "Release vX.Y.Z"
- •Cmd:
- •Push:
- •Cmd:
git push origin main --tags(Solicite confirmação do usuário antes deste passo).
- •Cmd:
Dicas do Mestre
- •Nunca releia código sujo: Se houver mudanças locais, elas podem ser acidentalmente incluídas no release. Force
git stashoucommitantes. - •Sincronia é Chave: O número da versão deve ser idêntico em todos os lugares. Um
greppós-alteração ajuda a verificar.