Funcionalidade release framework - BrunodosSantosVaz/big-bang GitHub Wiki
CI e distribuição do próprio framework
Funcionalidade BB-F-047 · requisito RF-BB-047 · versão documentada 2.0.1 · código 4c10eb3217364a0e0688895ea8a3636896521dfb.
Finalidade
Validar a fonte e distribuir pacote oficial com origem verificável e limpeza após sincronização.
Atores
Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.
Pré-condições
Repositório e raiz corretos, versão instalada e configuração compatível. Para operações de escrita, exige-se autorização vigente, branch adequada e acesso ao recurso envolvido; consultas não conferem permissão adicional.
Fluxo principal
Executar suíte completa em Python 3.11 e 3.13, testes Docker reais, ShellCheck e Gitleaks; exigir Wiki e comunidade; conferir tag em main e VERSION; criar tarball reprodutível e atestação; sincronizar develop e limpar branches seguras.
Validações
A fonte do framework é a exceção ao roteiro de Fundação; versão maior 2.0.0 exige migração pública explícita; o pacote não inclui configuração de um sistema.
Alternativas e erros
CI, documentação, checksum ou tag divergente bloqueia release; faxina só apaga branches finalizadas depois da publicação oficial.
Permissões
Leitura usa permissões mínimas do repositório. Operações locais respeitam a posse e worktree; escrita no GitHub exige acesso explícito. Esta funcionalidade não concede novas permissões a visitantes nem substitui decisões exigidas pelo fluxo.
Resultados
Resultado esperado: Validar a fonte e distribuir pacote oficial com origem verificável e limpeza após sincronização. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.
Referência da implementação
Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.
bb-framework-ci.yml
bb-framework-faxina.yml
bb-framework-release.yml
Cenários e rastreabilidade
.bigbang/tests/test_release_framework.py:test_uses_checkout_refs_with_git_remote_unavailable.bigbang/tests/test_release_framework.py:test_refuses_tag_version_different_from_framework.bigbang/tests/test_release_framework.py:test_refuses_commit_outside_main
Requisitos · Matriz de rastreabilidade · Referência CLI