ci: evento efetivo nos reusáveis — develop smoke, main nada, docs-only e hub-sync voltam a valer [INFRA-67006] #140
Loading…
Reference in a new issue
No description provided.
Delete branch "infra/INFRA-67006-runs-de-apoio"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
INFRA-67006: evento efetivo nos reusáveis
Causa (verificada): dentro do
workflow_callo Forgejo entregagithub.event_name = workflow_call, tanto em PR quanto em push. Prova nos logs de 20/10/2026:modo=completo — derivado do evento (workflow_call refs/heads/develop)Evento workflow_call (não-PR): code=trueereuso=false — ... (evento workflow_call, base main)não se aplica: evento 'workflow_call' não é pull_requestPor isso estas decisões não funcionavam:
developmain-m 'not heavy'no PR (INFRA-70586)Medição antes (banco do Forgejo, 17/10 a 20/10, minutos de runner por job)
develop(platform 1155, helpcor 502, dani 270, mgmt 245, tmf9 80)main(platform 73, dani 27, mgmt 27, helpcor 15)epic/**/release/**do tmf-platformOs workflows de apoio pesam pouco. O desperdício grande está no próprio
ci.ymlreusável, rodando completo onde deveria ser smoke ou nada. Desses números, só o DANI chama oci.ymlreusável. Platform, HelpCor e tmf-management usam CI próprio ou oci-base.yml, e vão precisar de ajuste no próprio produto (a lista está na INFRA-67006).O que muda
ci.yml: o passoguard: evento efetivonochangeslê o evento do payload:pull_request.numberou refrefs/pull/*dá PR,beforedá push, o resto é dispatch. O resultado sai como outputevento, e modo, filter, reuso, heavy (backend e frontend) e oci-okpassam a usar esse output.pytest -m heavy,vitest rundos*.heavy.test.*). Sem isso, o heavy tirado do PR não rodaria em lugar nenhum. O teto é o mesmo dos testes.ci-base.yml(G2, filter, fallback do Trivy, ci-ok) ehub-issue-sync.yml: o PR é reconhecido porgithub.event.pull_request.number.tests/ci-unico/test_evento_efetivo.pycobre a matriz evento→modo, tem um controle negativo e uma varredura estática que reprova comparação nova comgithub.event_name/GITHUB_EVENT_NAME. Os testes antigos foram ajustados ao evento efetivo.Riscos (ler antes de liberar para a main)
@main, então nada disso chega à frota antes do release develop→main do ci-shared, que é decisão do operador.Fora deste PR (relatado na issue)
scripts/release-tag.sh decidirrecusaevento=workflow_call("não suportado"), e oreusable-sonarfazcase push:develop. Os dois provavelmente sofrem do mesmo problema e precisam de issue própria.🤖 Generated with Claude Code