fix(generate-docs): detecta arquivo novo, entrega por PR para develop e falha alto [TH-68786] #55
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/TH-68786-generate-docs-entrega-por-pr"
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 (TH-68786)
O reusável
generate-docs.ymlficava verde sem entregar (achado do HelpCor, HCOR-67289):git diff --quiet docs/não via arquivo novo → "Nenhuma mudança" e exit 0git add -A -- docs/+git diff --cached --quiet(arquivo novo conta)git push HEAD:main(main protegida recusaria)base_branch(padrãodevelop), commit do bot na branch fixachore/auto-gen-docs-<base>(push --force só nela) e PR aberto ou atualizado pela API —scripts/entregar-docs-gerados.sh, no padrão dobackmerge.sh. Nunca push na base, nunca mergecontinue-on-error+|| echoopenapi: falsepula com::notice::POSTGRES_DOCS_URL→ placeholder--dry-run::notice::schema pulado: POSTGRES_DOCS_URL ausente, sem arquivo|| trueuv.lock(uv export --frozen)Token: o mesmo
FORGEJO_TOKEN/FORGEJO_USERque os callers já passam. Nenhum segredo novo. O token precisa de escrita no repo (push da branch + abrir PR); sem permissão o job falha com mensagem explícita.Inputs novos, todos opcionais com padrão:
base_branch(develop),openapi_app(app.main:app),openapi(true).backend_pathmantido. Nenhum input removido ou tornado obrigatório; sem blocosecrets:(INFRA-64944).Este PR também traz a
mainpara adevelop(mergee89acfb: #53 SBOM e #54backend_path, que entraram direto namain), senão o release develop→main conflitaria neste mesmo arquivo.Callers (grep
generate-docs.yml@nas develop/main, todos@main, sósecrets:, semwith:)maindo ci-sharedmain+ dispatchdevelope abrir PR paradevelopmain+ dispatchPOSTGRES_DOCS_URLexistir)uv.lock; se o índice privado exigir token, fica vermelho (antes o OpenAPI era pulado em silêncio). Comentário emauto-tag-on-release.ymlcita o push em main: fica desatualizadobackend/app/main.py(app embackend/main.py): OpenAPI fica vermelho até o caller passarwith: openapi_app: main:appmain+ dispatchbackend/: já falhava nocd backendantes; segue vermelho até declararbackend_pathQuem dispara no push de
mainpassa a gerar a partir dadevelop(é nela que o PR cai). O skip-loop ([auto-gen docs]no head commit) segue valendo: o título do PR do bot contém a marca.Prova (teste com controle) —
tests/generate-docs/test_generate_docs.py, 19 testesdocs/db/schema-snapshot.mdnovo sai 0 com "Nenhuma mudança em docs/" e HEAD intacto; gera placeholder semPOSTGRES_URL; engole o OpenAPI que falha.chore/auto-gen-docs-develop(develop e main do bare intactas), abre PR head→develop; PR já aberto viraexistente; 422/403 reprovam; token só no header; semPOSTGRES_URLimprime o notice e não cria arquivo; OpenAPI quebrado reprova.git diff --quiet docs/, a suíte cai com 5 falhas + 1 erro.unittest discoverpor pasta detests/): todas OK.🤖 Generated with Claude Code
https://claude.ai/code/session_01Jhn1rqHSES3DQEfP6F22V8