release: ci-shared develop → main — conserto do ci-ok reusável (INFRA-68925) + #62–#66 #69
Loading…
Reference in a new issue
No description provided.
Delete branch "release/2026-10-08-ci-ok"
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?
Release do ci-shared: develop → main (08/10/2026)
Motivo: destravar o DANI. O
ci-okdoci.ymlreusável, já na main, reprova em todo consumidor reusável. Isso deixa vermelho oCI / ciexigido pela proteção do DANI e trava o PR #907 e o release do DANI.Causa, verificada no log do DANI (run 3637, job 5): o
toJSON(needs)do reusável chega com chavesci.changes,ci.gates,ci.backend,ci.frontend. O avaliador reprovava por "ausente" + "job que não conhece".O que entra
ci-oknormaliza o prefixo<chamador>.e imprime chaves e results (nunca outputs)ci-oktambém noci-base.ymllegado (HelpCor, Hub, TMF9)docs/falha fechado; compliance/security na denylistRisco e conferência pós-merge
ci-okpassa a rodar no CI legado de HelpCor, Hub e TMF9. Com o #68, o prefixo do chamador é tratado, mas um nome de job fora dasCI_OK_REGRASreprova (anti-deriva, de propósito).ci-ok: TODOS os jobs necessários passaram, e o 1º run de um produto do ci-base também. Se reprovar, a saída do avaliador já mostra chaves e results para corrigir.@main.🤖 Generated with Claude Code
https://claude.ai/code/session_017QrAM1chSgVpSwDrKJVLVn
Causa raiz do HelpCor (Lineu, medido): o token NÃO estava ausente — existe desde 05/10. O chamador do HelpCor passava só via `with: org_leitura_token: ${{ secrets.X }}`, e o Forgejo NÃO resolve secret dentro de `with:` de workflow_call: chega vazio. Os 7 produtos verdes todos declaram `secrets: ORG_LEITURA_TOKEN:` no caller (caminho 2). HelpCor: 18/18 falhas por usar só o caminho 1. Atualiza o reusável para não gerar outro caso (aditivo, sem mudar comportamento): - descrição do input org_leitura_token: alerta que with: chega vazio; o caller TEM de declarar secrets: (input mantido só por compat); - cabeçalho (ordem do token): caminho 1 marcado como não-funcional sozinho, caminho 2 (secrets:) é o que funciona e é obrigatório; - mensagem do exit 1 (sem token) e do rótulo de SETUP: citam explicitamente "declare secrets: ORG_LEITURA_TOKEN: no caller". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SCXwCdbp97ioN6p3rC3diTO commit anterior citava 'with: ... ${{ secrets.X }}' literalmente nas mensagens de erro dentro de run: — e o test_script_do_clone_nao_tem_expressao_do_runner pegou: o Forgejo expande ${{ }} ANTES do shell (o \ não escapa), então um ${{ secrets.X }} numa mensagem injetaria o secret. Reescrito como "pelo input with: org_leitura_token (interpolando o secret)", sem o literal ${{. Mesma informação, sem o risco que o próprio teste existe para barrar. 84 testes verdes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SCXwCdbp97ioN6p3rC3diT