Funcionalidade pipeline - BrunodosSantosVaz/big-bang GitHub Wiki
Regras puras da esteira
Funcionalidade BB-F-019 · requisito RF-BB-019 · versão documentada 2.0.1 · código 4c10eb3217364a0e0688895ea8a3636896521dfb.
Finalidade
Calcular prontidão, branches, revisão, SemVer, changelog, matriz e nomes de artefatos sem executar deploy.
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
Interpretar campos de issues e títulos de PR; aplicar as invariantes do modelo; retornar decisões que os scripts orquestram.
Validações
Mudança incompatível, feat e manutenção determinam versões; promoção remove rc do nome mantendo os bytes; caminhos sensíveis exigem revisão. As branches de issue reconhecem também os prefixos da v3 (test/, fix/, foundation/, maintenance/). No fluxo agrupador, v3_branch_problem confere nome e destino da branch e v3_pr_rules confere o PR (modo, marca própria, release sem trava de aceite, no-release e decisão de flag do épico).
Alternativas e erros
Entrada fora do padrão, dependência pendente ou release mal classificada impede prosseguimento.
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: Calcular prontidão, branches, revisão, SemVer, changelog, matriz e nomes de artefatos sem executar deploy. 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.
pipeline.py
| Símbolo | Linha |
|---|---|
sections |
44 |
form_label_changes |
55 |
severity_label |
84 |
dependencies |
89 |
planned_tasks |
93 |
acceptance_criteria |
110 |
readiness_problems |
118 |
slug |
162 |
branch_name |
168 |
branch_issue |
172 |
branch_problem |
178 |
v3_branch_problem |
209 |
v3_pr_rules |
240 |
title_problem |
289 |
parse_title |
296 |
next_version |
306 |
bump_kind |
323 |
changelog_entries |
339 |
_unreleased_entries |
363 |
changelog_with_release |
375 |
changelog_has_version |
399 |
_glob_regex |
413 |
matches |
432 |
artifact_paths |
436 |
sensitive_paths |
440 |
with_version |
459 |
_acceptance_changes |
471 |
_released |
487 |
only_own_marks_released |
494 |
build_matrix |
517 |
candidate_asset_name |
522 |
promoted_name |
533 |
osv_high_findings |
543 |
tables_without_rls |
564 |
has |
245 |
name |
566 |
Cenários e rastreabilidade
.bigbang/tests/test_bb_esteira.py:test_respostas_viram_labels.bigbang/tests/test_bb_esteira.py:test_padroes_da_especificacao.bigbang/tests/test_bb_esteira.py:test_edicao_so_aplica_o_que_mudou.bigbang/tests/test_bb_esteira.py:test_dependencia_nao_cria_label_por_numero.bigbang/tests/test_bb_esteira.py:test_severidade.bigbang/tests/test_bb_esteira.py:test_epico_pronto.bigbang/tests/test_bb_esteira.py:test_recusa_cada_falta.bigbang/tests/test_bb_esteira.py:test_sensivel_com_stride_passa.bigbang/tests/test_bb_esteira.py:test_tarefas_e_dependencias.bigbang/tests/test_bb_esteira.py:test_slug.bigbang/tests/test_bb_esteira.py:test_modelo_de_branches.bigbang/tests/test_bb_esteira.py:test_issue_da_branch.bigbang/tests/test_bb_esteira.py:test_titulo_conventional.bigbang/tests/test_bb_esteira.py:test_classificacao.bigbang/tests/test_bb_esteira.py:test_versao_informada_confere.bigbang/tests/test_bb_esteira.py:test_arquivo_de_versao.bigbang/tests/test_bb_esteira.py:test_secao_nova_com_rascunho.bigbang/tests/test_bb_esteira.py:test_idempotente_e_arquivo_novo.bigbang/tests/test_bb_esteira.py:test_so_manutencao.bigbang/tests/test_bb_esteira.py:test_artefato.bigbang/tests/test_bb_esteira.py:test_zonas_sensiveis.bigbang/tests/test_bb_esteira.py:test_retirada_do_decorador_da_propria_tarefa.bigbang/tests/test_bb_esteira.py:test_test_failing_vira_test.bigbang/tests/test_bb_esteira.py:test_qualquer_outra_mudanca_e_sensivel.bigbang/tests/test_bb_esteira.py:test_matriz_com_runner_fixo.bigbang/tests/test_bb_esteira.py:test_nomes_da_candidata_e_de_producao.bigbang/tests/test_bb_esteira.py:test_android.bigbang/tests/test_bb_esteira.py:test_osv_so_alta_e_critica.bigbang/tests/test_bb_esteira.py:test_tabelas_sem_rls
Requisitos · Matriz de rastreabilidade · Referência CLI