Skip to content

Latest commit

 

History

History
146 lines (99 loc) · 4.05 KB

File metadata and controls

146 lines (99 loc) · 4.05 KB

Como Lançar uma Nova Versão

🌐 EN | PT | ES


Releases Automatizados (Recomendado)

A maneira mais fácil de lançar novas versões é através de releases semânticos automáticos. Basta fazer commit com o formato de mensagem correto e fazer push - todo o resto acontece automaticamente.

Formato de Mensagem de Commit

Use estes prefixos para controlar qual tipo de release acontece:

fix: resolve bug de parsing de argumentos CLI      # → release patch (4.1.0 → 4.1.1)
feat: adiciona novo modo de orquestração de agent  # → release minor (4.1.0 → 4.2.0)
feat!: redesenha interface CLI                     # → release major (4.1.0 → 5.0.0)

O Que Acontece Automaticamente

Quando você faz push de commits com fix: ou feat:, o GitHub Actions irá:

  1. Analisar suas mensagens de commit
  2. Atualizar a versão no package.json
  3. Gerar changelog
  4. Criar tag git
  5. Publicar no NPM automaticamente
  6. Criar release no GitHub com notas

Seu Fluxo de Trabalho Simples

# Faça suas alterações
git add .
git commit -m "feat: adiciona modo de colaboração em equipe"
git push

# É isso! O release acontece automaticamente
# Usuários agora podem executar: npx aiox-core (e obter a nova versão)

Commits que NÃO Disparam Releases

Estes tipos de commit não criarão releases (use-os para manutenção):

chore: atualiza dependências     # Sem release
docs: corrige erro no readme     # Sem release
style: formata código            # Sem release
test: adiciona testes unitários  # Sem release

Teste Sua Configuração

npm run release:test    # Seguro executar localmente - testa a configuração

Métodos de Release Manual (Apenas Exceções)

Somente use estes métodos se você precisar ignorar o sistema automático

Atualização Manual Rápida de Versão

npm run version:patch   # 4.1.0 → 4.1.1 (correções de bugs)
npm run version:minor   # 4.1.0 → 4.2.0 (novas funcionalidades)
npm run version:major   # 4.1.0 → 5.0.0 (mudanças que quebram compatibilidade)

# Depois publique manualmente:
npm publish
git push && git push --tags

Disparo Manual via GitHub Actions

Você também pode disparar releases manualmente através do workflow dispatch do GitHub Actions se necessário.


Solução de Problemas

Release Não Foi Disparado

Se seu merge para main não disparou um release:

  1. Verifique as mensagens de commit - Apenas prefixos fix: e feat: disparam releases
  2. Verifique se o CI passou - O release só executa se lint, typecheck e test passarem
  3. Verifique os logs do workflow - Vá em Actions → Semantic Release para ver detalhes

Release Falhou

Problemas comuns e soluções:

Erro Solução
ENOGHTOKEN Secret GITHUB_TOKEN ausente ou expirado
ENOPKGAUTH Secret NPM_TOKEN ausente ou inválido
ENOTINHISTORY Branch não tem histórico apropriado (use fetch-depth: 0)
EINVALIDNPMTOKEN Regenere o token NPM com permissões de publicação

Pular um Release

Para fazer merge sem disparar um release, use uma destas opções:

# Método 1: Use prefixo que não dispara release
git commit -m "chore: atualiza dependências"

# Método 2: Adicione [skip ci] à mensagem de commit
git commit -m "feat: nova funcionalidade [skip ci]"

Forçar um Release Manual

Se o release automático falhar, você pode fazer release manualmente:

npm run version:patch   # ou minor/major
git push && git push --tags
npm publish

Arquivos de Configuração

Arquivo Propósito
.releaserc.json Configuração do semantic release
.github/workflows/semantic-release.yml Workflow do GitHub Actions
package.json Fonte da versão, scripts npm

Última atualização: Story 6.17 - Automação de Semantic Release