fix(ci): jobs dependentes de changes falham de verdade quando changes falha [INFRA-67721] #26
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/INFRA-67721-gate-agregador"
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?
O quê
Nos jobs
gates,backendefrontenddoci.yml(CI único):if: ${{ always() }}+ um primeiro step "Guarda — changes passou?" que dáexit 1seneeds.changes.result != success. O teste de contrato passa a aceitar sóalways()comoifde job e exige a guarda como primeiro step.Por quê
needs: changessemalways()fazia o Forgejo pular os dependentes quandochangesfalhava, e publicar job pulado como success (gate falso). Medido no tmf-platform em 29/09:changes"Failing after 1s" + 13 jobs "Has been skipped" com estado success.Como testar
python3 -m unittest discover -s tests/ci-unico -vVerificado: 26 testes OK. Controle negativo: o teste novo falha no
ci.ymldeorigin/main("gates: sem always() o job é pulado quando changes falha").⚠ Não provado em runner
Depende de o
act_runneraceitaralways()sem o erro'runs-on' key not defined(tmf9 #761, que motivou a regra "nenhumif:de job"). Comalways()em job cujoneedsfalhou (não pulado) deve funcionar, mas só um run real confirma. Exige run real antes de ser adotado pelos produtos.O mesmo defeito existe no
ci-base.yml(dependentes dechangessem guarda) e não foi alterado aqui.Refs: INFRA-67721
🤖 Generated with Claude Code
https://claude.ai/code/session_01G2e3V17tRc4mAZ4ea1XX1e