feat(ci): chamador falha alto se um reusable apontar para repo privado [INFRA-64942] #52
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/INFRA-64942-reusable-so-de-repo-publico"
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 que muda
INFRA-64942. O Forgejo só resolve um reusable de outro repositório se ele for público; apontar para um privado faz o job morrer em 0 s, sem mensagem, e o gate some em silêncio.
scripts/conferir_reusable_publico.py: para cadauses:de reusable de outro repo (owner/repo/.forgejo/workflows/x.yml@refou a forma URL), consulta anonimamenteGET /api/v1/repos/{owner}/{repo}.200+private=falsepassa. Reprova com::error::se for privado, inexistente (404/403) ou de host externo. Rede fora:::warning::, nunca derruba o CI.conferir-ci-identico.sh, que roda no jobchangesdo CI único de todo produto: o chamador falha alto.TMF/ORG(precisa ser privado).tests/reusable-publico(13 testes, consulta HTTP simulada): público passa; privado/404/403reprovam; local./e actions não entram; URL completa entra; host externo reprova sem consultar; rede fora só avisa; cada repo é consultado uma vez. Controle:uses: TMF/infra/...reprova e o mesmo comTMF/ci-sharedpassa. Controle com rede real:TMF/infraeTMF/ORGrespondem404anônimo e reprovam;TMF/ci-sharedpassa; local e actions ignoradas.Varredura da frota (somente leitura, 05/10/2026)
14 repositórios (tmf9, tmf-management, tmf-platform, infra, ci-shared, tmf-video, DANI, helpcor-admin, fina, Priceshow, tennis-tracking, tmf-server-core, TMF_Claude_Specs, design-tokens),
developemain: todo reusable de outro repo éTMF/ci-shared(55 na forma curta, 18 na forma URL), que é público. Nenhuma violação hoje: o gate é preventivo.⚠️ Limites
developdo ci-shared for àmain(/deploy-safe): oconferir-ci-identico.shroda a partir do ci-shared na ref que o chamador usa.@main) do reusable, só a visibilidade do repositório.android-actions/setup-android,r0adkll/upload-google-play,ruby/setup-ruby): outra questão de soberania, não tratada aqui.🤖 Generated with Claude Code
https://claude.ai/code/session_019nhmgPciDjRhb5KSiZrePM