ADR 0004 release por epico a partir da main - BrunodosSantosVaz/big-bang GitHub Wiki
ADR-0004: Release por épico a partir da main
Big Bang v3: no modelo padrão da v3 este ADR vale apenas para o legado (
epic-branch); veja o ADR-0022.
- Situação: aceita
- Data: 2026-10-03
- Decisores: Bruno dos Santos Vaz (dono); Claude Code
Contexto e problema
O dono decidiu (decisões 5 e 6) que a release e a homologação acontecem por épico pronto. O Manual Projeto-GIT e o processo do CNABLens divergiam no gatilho de release (sprint versus versão informada) e no tipo de merge.
Fatores de decisão
- O artefato homologado é exatamente o publicado.
- Uma release leva uma unidade (um épico ou um bug), para a homologação ser objetiva.
- Bugs e hotfixes não podem esperar épicos em andamento.
Opções consideradas
release/x.y.zcriada a partir damain, recebendo oepico/…(ou obugfix/hotfix) com--no-ff.release/x.y.zcriada a partir dadevelop(modelo GitFlow clássico).- Release por sprint, com tudo que estiver pronto.
Decisão e justificativa
Escolhida: opção 1. Com a invariante do ADR-0003, a main é sempre "produção atual"; criar a release a partir
dela e mesclar só o épico garante que a candidata contém exatamente esse épico. A versão sai dos títulos dos PRs
(Conventional Commits). A release é disparada pela conclusão do épico, não pela sprint (que tem duração livre e não é
versão). Merge commit em todas as branches de integração, nunca squash.
Bugs seguem o mesmo caminho: bugfix/* nasce da main e entra numa release/x.y.z própria (sobe o último número).
Consequências
Positivas
- Homologação por épico, uma vez, sobre o artefato que será publicado.
- Hotfix nunca espera épico.
Negativas
- Dois épicos prontos ao mesmo tempo geram duas releases em sequência; a segunda precisa receber a
mainatualizada (devolução automática). - Épicos que dependem de outro não publicado precisam de feature flag (decisão 5).
Referências
- Especificação, seções 11.5, 11.6, 11.10 e 11.12, e Apêndice A, itens 4 e 12.