feat(ci-images): restaura o build das imagens de CI no ci-shared [INFRA-68880] #59

Merged
tarcisio merged 2 commits from feat/INFRA-68880-restaura-build-ci-images into develop 2026-10-08 12:20:54 -03:00
Owner

O que

Conclui a migração que o epic INFRA-66795 deu como Done sem ter acontecido: traz o build das imagens de CI do TMF/infra (arquivado em 07/10) para o TMF/ci-shared. Executa a decisão INFRA-68880 (operador aprovou a Opção 1 via TMF/ORG).

Arquivos trazidos (de develop do TMF/infra — versão pós INFRA-67340 + INFRA-67861)

  • .forgejo/workflows/build-ci-images.yml — workflow Build CI Images: workflow_dispatch por imagem, push em main por Dockerfile, schedule mensal (patch apt/apk) e semanal (vuln DB do Trivy).
  • ci-images/ — Dockerfiles das imagens tmf-ci-* (python, node, docker, nginx-base, trivy, php, android, deploy) + README.

Fidelidade

Cópia fiel — Dockerfiles e FROMs inalterados. Únicos ajustes:

  • label OCI image.source do deploy-ci de TMF/infra → TMF/ci-shared;
  • nota de migração no cabeçalho do workflow;
  • test.sh com bit de execução (100755).

Pontos de atenção

  1. O cron só ressuscita a partir de main. Schedule do Forgejo roda no default branch (main). Este PR vai para develop; o cron semanal do Trivy DB volta ao ar quando o workflow chegar em main (release develop→main). Em develop fica disponível por workflow_dispatch.
  2. php-ci veio junto. O epic INFRA-66795 marcava o php-ci (deploy do TMF7) como "pendente de decisão". A cópia fiel de develop o inclui; o job só roda por dispatch/schedule conforme seu if:. Se for para sair, é uma remoção à parte.
  3. Não dispara nada. Nenhum build/push/tag é executado por este PR — isso é do cron/dispatch após o merge.
  4. As 3 mensagens de erro interinas (corrigidas no PR #58, apontando INFRA-68880) podem passar a apontar o workflow real quando ele publicar de verdade (passo futuro, conforme orientação do operador).

Validação

  • tests/soberania verde — nenhuma origem externa nova (o scanner cobre todos os workflows).
  • YAML do workflow válido; test.sh sintaxe ok.

Epic (corrigido): INFRA-66795 · Decisão: INFRA-68880

🤖 Generated with Claude Code

## O que Conclui a migração que o epic **INFRA-66795** deu como `Done` sem ter acontecido: traz o **build das imagens de CI** do `TMF/infra` (arquivado em 07/10) para o `TMF/ci-shared`. Executa a decisão **INFRA-68880** (operador aprovou a Opção 1 via TMF/ORG). ### Arquivos trazidos (de `develop` do TMF/infra — versão pós INFRA-67340 + INFRA-67861) - `.forgejo/workflows/build-ci-images.yml` — workflow `Build CI Images`: `workflow_dispatch` por imagem, `push` em main por Dockerfile, `schedule` mensal (patch apt/apk) e semanal (vuln DB do Trivy). - `ci-images/` — Dockerfiles das imagens `tmf-ci-*` (python, node, docker, nginx-base, trivy, php, android, deploy) + README. ### Fidelidade Cópia fiel — **Dockerfiles e FROMs inalterados**. Únicos ajustes: - label OCI `image.source` do `deploy-ci` de `TMF/infra` → `TMF/ci-shared`; - nota de migração no cabeçalho do workflow; - `test.sh` com bit de execução (100755). ## Pontos de atenção 1. **O cron só ressuscita a partir de `main`.** Schedule do Forgejo roda no default branch (main). Este PR vai para develop; o cron semanal do Trivy DB volta ao ar quando o workflow chegar em main (release develop→main). Em develop fica disponível por `workflow_dispatch`. 2. **`php-ci` veio junto.** O epic INFRA-66795 marcava o `php-ci` (deploy do TMF7) como "pendente de decisão". A cópia fiel de develop o inclui; o job só roda por dispatch/schedule conforme seu `if:`. Se for para sair, é uma remoção à parte. 3. **Não dispara nada.** Nenhum build/push/tag é executado por este PR — isso é do cron/dispatch após o merge. 4. As 3 mensagens de erro interinas (corrigidas no PR #58, apontando INFRA-68880) podem passar a apontar o workflow real **quando ele publicar de verdade** (passo futuro, conforme orientação do operador). ## Validação - `tests/soberania` verde — nenhuma origem externa nova (o scanner cobre todos os workflows). - YAML do workflow válido; `test.sh` sintaxe ok. Epic (corrigido): **INFRA-66795** · Decisão: **INFRA-68880** 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(ci-images): restaura o build das imagens de CI no ci-shared [INFRA-68880]
Some checks failed
PR checks (ci-shared) / testes (pull_request) Failing after 3m23s
46758b17fa
Conclui a migração que o epic INFRA-66795 deu como feita sem ter acontecido: o
build-ci-images.yml e o ci-images/ viviam só no TMF/infra, arquivado em 07/10,
onde não rodam mais (repo read-only) — o cron semanal do Trivy DB estava morto.

Traz, do develop do TMF/infra (versão pós INFRA-67340 + INFRA-67861, a corrigida):
- .forgejo/workflows/build-ci-images.yml (name "Build CI Images"): dispatch por
  imagem (python-ci, node-ci, docker-ci, nginx-base, trivy-ci, php-ci, android-ci,
  deploy-ci), push em main por Dockerfile, schedule mensal (patch apt/apk) e
  semanal (vuln DB do Trivy);
- ci-images/ com os Dockerfiles das imagens tmf-ci-* e o README.

Cópia fiel (Dockerfiles e FROMs inalterados). Únicos ajustes: label OCI
image.source do deploy-ci de TMF/infra para TMF/ci-shared, e nota de migração no
cabeçalho do workflow. tests/soberania verde (sem origem externa nova).

Nota operacional: schedule/cron do Forgejo roda no default branch (main). O cron
do Trivy só volta ao ar quando este workflow chegar em main (release develop->main);
em develop ele fica disponível por workflow_dispatch.

Não dispara build nem publica imagem/tag — isso é do cron/dispatch após o merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCXwCdbp97ioN6p3rC3diT
test(ci-unico): build-ci-images.yml entra na allowlist de gatilho próprio [INFRA-68880]
All checks were successful
PR checks (ci-shared) / testes (pull_request) Successful in 3m20s
610cc913e4
A restauração do build de imagens adicionou um 2º workflow com gatilho próprio
(schedule/dispatch/push), quebrando test_e_o_unico_workflow_com_gatilho_proprio,
que só conhecia o pr-checks.yml.

- allowlist passa a ser {build-ci-images.yml, pr-checks.yml};
- novo teste garante que build-ci-images.yml NUNCA dispara em pull_request (senão
  viraria check obrigatório nos PRs deste repo — contexto de proteção inesperado).

Fortalece a invariante em vez de só relaxá-la.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCXwCdbp97ioN6p3rC3diT
tarcisio merged commit 2d536999bb into develop 2026-10-08 12:20:54 -03:00
tarcisio deleted branch feat/INFRA-68880-restaura-build-ci-images 2026-10-08 12:20:54 -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!59
No description provided.