Fluxo de Release (Padrão TinyCorn Studio)
Aplicar quando o usuário disser: "release", "lançar vX.Y.Z", "enviar nova versão para o git", "build do instalador + release". Execute o fluxo completo, não pergunte novamente a cada etapa a menos que detecte anormalidades.
Pré-requisitos
- Repositório com
CHANGELOG.md(Keep a Changelog) com seção## [<versão>] - <data>para a versão a ser lançada. - Repositório com script de build do instalador (geralmente
make-app.shcom variávelVERSION). ghautenticado com permissãorepo.- Árvore de trabalho limpa (todas as funcionalidades committadas).
Passos
1. Incrementar versão (fonte única)
sed -i '' -E 's/^(VERSION=).*/\1"0.5.0"/' make-app.sh
2. Build do instalador
./make-app.sh
ls -lh dist/
3. Atualizar CHANGELOG.md
Adicione uma nova seção no topo (de acordo com Keep a Changelog):
## [0.5.0] - 2026-10-18
### Added
- ...
### Fixed
- ...
4. Commit
git add -A
git commit -m "Release v0.5.0"
5. Merge para main (se estiver em feature branch)
git checkout main && git merge --ff-only <feature-branch>
6. Tag anotada + push
git tag -a v0.5.0 -m "v0.5.0"
git push origin main --tags
7. Criar GitHub Release com instalador
Escreva as notas de release em português (resumo + seção "Novidades" + "Instalação"), salve em arquivo temporário, então:
gh release create v0.5.0 dist/<App>-0.5.0.dmg \
--title "v0.5.0 — <resumo>" \
--notes-file /tmp/release_notes_v0.5.0.md
8. Verificar
gh release view v0.5.0
Verifique: tag aponta para o commit correto, asset foi enviado, notas exibidas corretamente.
Script de automação
Este repositório possui scripts/release.sh que executa os passos 1→7 para ferramentas macOS que usam make-app.sh:
./scripts/release.sh 0.5.0
Regras
- NÃO commitar arquivos de instalação (DMG, ZIP) no repositório — apenas anexá-los ao GitHub Releases.
dist/deve estar em.gitignore. - CHANGELOG e README devem ser atualizados na mesma release.
- Tag sempre anotada, no formato
vX.Y.Z(SemVer). - Notas de release em português (ou vietnamita, conforme padrão original), com seção de instruções para abrir o app se não estiver assinado (clique direito → Abrir).
- Se o push falhar com 403: verifique
gh auth status, executegh auth setup-git, confirme que o token tem permissão na organização.