feat(ci): agregador ci-ok no ci-base.yml legado [INFRA-68918] #62

Merged
tmf-ia merged 1 commit from feat/INFRA-68918-ci-ok-no-ci-base into develop 2026-10-08 19:42:47 -03:00
Owner

O que

Leva o agregador ci-ok ao reusável legado ci-base.yml, cobrindo os produtos que ainda chamam ele (Hub, HelpCor, Fina). Epic de gates falsos INFRA-68918.

Conserta o skip-como-success na origem. Os jobs do ci-base (lint-python, test-python, build-react, audit-ds) têm needs: changes sem always() — quando o changes falha eles viram skipped, e o Forgejo publica skipped como SUCCESS. É o falso verde dos achados C1/C2.

Mudanças

  • ci-base.yml: job ci-ok (needs: os 6 jobs + if: always()), baixa o ci-shared na ref do uses: e roda o avaliador. ADITIVO — não altera os jobs existentes.
  • scripts/ci/avaliar_gate_final.py: generalizado para aceitar a lista de jobs por env CI_OK_REGRAS. Retrocompatível — o ci.yml segue no REGRAS default.
  • tests/ci-ok/: anti-deriva do ci-base (CI_OK_REGRAS == jobs do ci-base) + avaliador com as 6 regras.

Contexto para a proteção (operador)

Nos três repos, exigir CI / ci-ok (pull_request) no lugar do glob CI /* ou dos jobs individuais — achados C1/C2 (INFRA-68919/68920). Só depois que este PR mergear.

Validação

12 suítes tests/*/ verdes. YAML válido. Mesmo molde do ci.yml (#60) e do tmf-platform (TMFP-68058).

Epic: INFRA-68918

🤖 Generated with Claude Code

## O que Leva o agregador `ci-ok` ao reusável **legado** `ci-base.yml`, cobrindo os produtos que ainda chamam ele (Hub, HelpCor, Fina). Epic de gates falsos **INFRA-68918**. **Conserta o skip-como-success na origem.** Os jobs do `ci-base` (`lint-python`, `test-python`, `build-react`, `audit-ds`) têm `needs: changes` **sem `always()`** — quando o `changes` falha eles viram `skipped`, e o Forgejo publica `skipped` como SUCCESS. É o falso verde dos achados C1/C2. ## Mudanças - **`ci-base.yml`**: job `ci-ok` (`needs:` os 6 jobs + `if: always()`), baixa o ci-shared na ref do `uses:` e roda o avaliador. ADITIVO — não altera os jobs existentes. - **`scripts/ci/avaliar_gate_final.py`**: generalizado para aceitar a lista de jobs por env `CI_OK_REGRAS`. **Retrocompatível** — o `ci.yml` segue no `REGRAS` default. - **`tests/ci-ok/`**: anti-deriva do ci-base (`CI_OK_REGRAS` == jobs do ci-base) + avaliador com as 6 regras. ## Contexto para a proteção (operador) Nos três repos, exigir **`CI / ci-ok (pull_request)`** no lugar do glob `CI /*` ou dos jobs individuais — achados C1/C2 (INFRA-68919/68920). Só depois que este PR mergear. ## Validação 12 suítes `tests/*/` verdes. YAML válido. Mesmo molde do `ci.yml` (#60) e do tmf-platform (TMFP-68058). Epic: **INFRA-68918** 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(ci): agregador ci-ok no ci-base.yml legado [INFRA-68918]
All checks were successful
PR checks (ci-shared) / testes (pull_request) Successful in 3m34s
c177ed08aa
Conserta o skip-como-success NA ORIGEM para os produtos que ainda chamam o
reusável legado ci-base.yml (Hub, HelpCor, Fina): os jobs do ci-base têm
`needs: changes` SEM `always()`, então quando o changes falha eles viram
`skipped` e o Forgejo publica skipped como SUCCESS — o falso verde do epic.

- job `ci-ok` no ci-base.yml (needs: todos + if: always()) — o único check que a
  proteção precisa exigir (`CI / ci-ok`), no lugar do glob `CI /*` ou dos jobs
  individuais do ci-base (achados C1/C2: INFRA-68919/68920). ADITIVO: não altera
  os 6 jobs existentes; vira required quando o operador trocar a proteção.
- avaliar_gate_final.py generalizado: aceita a lista de jobs por env CI_OK_REGRAS
  (o ci-base tem jobs diferentes do ci.yml). Retrocompatível — o ci.yml continua
  usando o REGRAS default. Mesmo molde do ci.yml e do tmf-platform (TMFP-68058).
- tests/ci-ok: anti-deriva do ci-base (CI_OK_REGRAS == jobs do ci-base) + avaliador
  com as 6 regras. Todas as suítes verdes.

Cobre Hub/HelpCor/Fina de uma vez, sem tocar em repo de produto (eles já apontam
ci-base@main). Não força a migração para o ci.yml (CI único, INFRA-65726); entrega
o gate honesto já.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCXwCdbp97ioN6p3rC3diT
tmf-ia merged commit d5faa227cb into develop 2026-10-08 19:42:47 -03:00
Sign in to join this conversation.
No reviewers
No labels
seguranca
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
TMF/ci-shared!62
No description provided.