feat(release): deploy de produção leva a done as issues do release, com travas de prefixo/container/revert [INFRA-69129] #98
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/INFRA-69129-done-no-deploy-v2"
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?
INFRA-69129: o deploy de produção leva a
doneas issues do release, com travasO operador decidiu em 09/10/2026, por opção na sessão ORG, que o deploy de produção bem-sucedido leva a
doneas issuesapproveddo release que têm todos os commits na tag. Este PR substitui o #95, que foi revisado e ajustado.Quando roda: só depois de deploy, verificação pública e commit status OK. Só com
environment == prode comdeploy_hub_done: true(padrão). Não temalways(). Se o Hub estiver fora do ar, o passo avisa e não derruba o deploy.O que move:
[PROJ-N]no assunto dos commits entre a tag anterior e a atual;hub_done_prefixosdo produto. Se a lista estiver vazia, nada se move, e cada produto declara a sua, por exemplo[DAIS];approvedcom todos os commits na tag. Commits emorigin/developou emorigin/epic/*fora da tag tiram a chave;typeousubtask_count > 0), que continuam como decisão humana;Revert.Modo ensaio, que só lista sem mover: no 1º deploy de cada produto, que não tem tag anterior, e quando há mais de 50 candidatas. Opcionalmente comenta numa issue de controle.
Token: usa o HUB_TOKEN do produto direto na API v2, então a trava
HUB_STATUS_HUMANO, que existe só no cliente, não se aplica, por decisão do operador. Cada issue fechada recebe um comentário com a tag, o SHA e o link do run.Prova: suíte com 941 passed. São 15 testes novos, e os 17 novos ou alterados falham contra o
03e12b2(#95).Adoção: cada produto acrescenta
hub_done_prefixosao.forgejo/ci-config.yml. Vale depois do release do ci-shared para a main.🤖 Generated with Claude Code
https://claude.ai/code/session_017QrAM1chSgVpSwDrKJVLVn
Nada na frota levava issue a done: o hub-issue-sync para em approved no merge em develop e não mexe no merge em main ("o deploy leva a done"), mas nenhum deploy fazia isso. - release.yml (job deploy): três passos depois do deploy por tag com sucesso, só em prod, atrás da chave nova deploy_hub_done do ci-config (padrão true), todos com continue-on-error — falha do Hub vira :⚠️:, nunca derruba o deploy. HUB_TOKEN do Infisical do produto (infisical_*), mesmo mecanismo do hub-issue-sync. - scripts/hub_done_no_deploy.py: chaves do assunto dos commits <tag anterior>..<tag> (branch do merge pelo assunto, corpo nunca, mesma regex do hub-issue-sync); pula chave com commit em origin/develop fora da tag (git log --cherry-pick --right-only); só approved → done (API v2); recusa do Hub (filha aberta) = pulada; comentário com tag, SHA e run; resumo no GITHUB_STEP_SUMMARY. - tests/hub-done-no-deploy: repo git temporário com tags, Hub falso e contrato do yaml. - docs (guia de adoção, scripts, workflows reusáveis), exemplo do ci-config e CHANGELOG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ES1xwVdpQV69zEsuLLKzx2