feat(hub-sync): PR aberto move a issue para review e falha alto sem HUB_TOKEN [INFRA-68386] #48

Merged
tarcisio merged 1 commit from feat/INFRA-68386-hub-sync-review-no-pr into develop 2026-10-05 09:32:05 -03:00
Owner

O que muda

Peça (b) do processo de status automático do Hub (operador aprovou, 05/10/2026; INFRA-68386).

  • .forgejo/workflows/hub-issue-sync.yml passa a rodar também em pull_request opened/reopened e move as keys do título e da branch para review, qualquer que seja a base. Nunca regride (issue já em review/approved/done/cancelled fica). PR mergeado segue como hoje (base epic/* → review, develop → approved, main → não muda). Fechado sem merge e demais ações não fazem nada.
  • Sem HUB_TOKEN o job falha alto (::error:: + exit 1) só quando o sync se aplicaria (PR com key). Fica atrás do input exigir_token, desligado por padrão: hoje DANI e tennis-tracking chamam o reusável sem secret (nem org, nem repo, nem infisical_project no ci-config), então ligar agora pintaria de vermelho todo PR com key deles. Virar o padrão para true é uma linha, depois de adicionar o HUB_TOKEN nos dois (pauta na INFRA-68386).
  • Os passos do fallback do token (checkout, ci-config, Infisical) deixam de valer só para PR mergeado.
  • Template chamador: types: [opened, reopened, closed]. Como o changes confere o sha256 da cópia, a versão anterior fica em templates/hub-issue-sync-chamador.anterior.yml e o conferir-ci-identico.sh a aceita com aviso (não vermelho) na transição; cópia editada continua reprovando.

Levantamento (quem chama e se tem o secret)

repo usa o reusável secret HUB_TOKEN
tarcisio/DANI sim (@main) não tem (nem na org TMF)
tarcisio/tennis-tracking sim (@main) não tem
TMF/ci-shared só o próprio n/a

Cópias locais antigas: fina, Priceshow, tmf-platform (TH-57410). Sem hub-issue-sync: tmf-management, tmf9, infra, helpcor-admin e demais.

Testes

python3 -m unittest discover -s tests/hub-issue-sync: 38 testes, incluindo o conferir-ci-identico.sh real na transição. Controle negativo: contra o workflow antigo, 11 dos novos falham. Também verdes: tests/ci-unico (69), tests/ci-config (88, um teste ajustado para a string nova do chamador), tests/release (353), soberania, infisical-secrets, nginx-log.

Base

Contra a develop (fluxo aprovado de 04/10: merge na develop com CI verde e release para main via /deploy-safe). A develop do ci-shared foi apagada por acidente no merge do #46 (07:49) e foi recriada da main no SHA 68611827; este PR substitui o #47, que apontava para main. As mudanças só valem para os produtos depois do release para main (todos chamam @main).

Depois do merge

  1. Adicionar HUB_TOKEN em DANI e tennis-tracking (ou na org TMF), depois exigir_token: true por padrão.
  2. DANI e tennis-tracking copiam o template novo (types com opened/reopened) para valer o PR aberto; até lá o sync deles continua só no merge.

Relacionado: INFRA-68386, INFRA-66873, TH-57410.

🤖 Generated with Claude Code

https://claude.ai/code/session_019nhmgPciDjRhb5KSiZrePM

## O que muda Peça (b) do processo de status automático do Hub (operador aprovou, 05/10/2026; INFRA-68386). - `.forgejo/workflows/hub-issue-sync.yml` passa a rodar também em `pull_request` **opened/reopened** e move as keys do **título e da branch** para `review`, qualquer que seja a base. **Nunca regride** (issue já em review/approved/done/cancelled fica). PR mergeado segue como hoje (base epic/* → review, develop → approved, main → não muda). Fechado sem merge e demais ações não fazem nada. - **Sem `HUB_TOKEN` o job falha alto** (`::error::` + exit 1) **só quando o sync se aplicaria** (PR com key). Fica atrás do input `exigir_token`, **desligado por padrão**: hoje DANI e tennis-tracking chamam o reusável sem secret (nem org, nem repo, nem `infisical_project` no ci-config), então ligar agora pintaria de vermelho todo PR com key deles. Virar o padrão para `true` é uma linha, depois de adicionar o `HUB_TOKEN` nos dois (pauta na INFRA-68386). - Os passos do fallback do token (checkout, ci-config, Infisical) deixam de valer só para PR mergeado. - Template chamador: `types: [opened, reopened, closed]`. Como o `changes` confere o sha256 da cópia, a versão anterior fica em `templates/hub-issue-sync-chamador.anterior.yml` e o `conferir-ci-identico.sh` a aceita **com aviso** (não vermelho) na transição; cópia editada continua reprovando. ## Levantamento (quem chama e se tem o secret) | repo | usa o reusável | secret `HUB_TOKEN` | |---|---|---| | tarcisio/DANI | sim (`@main`) | não tem (nem na org TMF) | | tarcisio/tennis-tracking | sim (`@main`) | não tem | | TMF/ci-shared | só o próprio | n/a | Cópias locais antigas: fina, Priceshow, tmf-platform (TH-57410). Sem hub-issue-sync: tmf-management, tmf9, infra, helpcor-admin e demais. ## Testes `python3 -m unittest discover -s tests/hub-issue-sync`: 38 testes, incluindo o `conferir-ci-identico.sh` real na transição. **Controle negativo:** contra o workflow antigo, 11 dos novos falham. Também verdes: `tests/ci-unico` (69), `tests/ci-config` (88, um teste ajustado para a string nova do chamador), `tests/release` (353), `soberania`, `infisical-secrets`, `nginx-log`. ## Base Contra a `develop` (fluxo aprovado de 04/10: merge na `develop` com CI verde e release para `main` via `/deploy-safe`). A `develop` do ci-shared foi apagada por acidente no merge do #46 (07:49) e foi recriada da `main` no SHA 68611827; este PR substitui o #47, que apontava para `main`. As mudanças só valem para os produtos depois do release para `main` (todos chamam `@main`). ## Depois do merge 1. Adicionar `HUB_TOKEN` em DANI e tennis-tracking (ou na org TMF), depois `exigir_token: true` por padrão. 2. DANI e tennis-tracking copiam o template novo (`types` com opened/reopened) para valer o PR aberto; até lá o sync deles continua só no merge. Relacionado: INFRA-68386, INFRA-66873, TH-57410. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019nhmgPciDjRhb5KSiZrePM
feat(hub-sync): PR aberto move a issue para review e falha alto sem HUB_TOKEN [INFRA-68386]
All checks were successful
PR checks (ci-shared) / testes (pull_request) Successful in 2m46s
e5213ee6b7
- hub-issue-sync.yml: roda também em pull_request opened/reopened e leva as keys do título e da branch para review (qualquer base; nunca regride). Fechado sem merge segue sem fazer nada.
- Sem HUB_TOKEN, e só quando o sync se aplicaria, falha alto (::error:: + exit 1) atrás do input exigir_token, desligado por padrão até DANI e tennis-tracking terem o secret.
- Os passos do fallback do token (checkout, ci-config, Infisical) valem também para PR aberto.
- Template chamador: types [opened, reopened, closed]; a versão anterior fica em templates/hub-issue-sync-chamador.anterior.yml e o conferir-ci-identico.sh a aceita com aviso na transição.
- Testes: 38 em tests/hub-issue-sync (controle negativo: 11 falham no workflow antigo) e ajuste de um teste do ci-config.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019nhmgPciDjRhb5KSiZrePM
tarcisio merged commit 6ff94b1125 into develop 2026-10-05 09:32:05 -03:00
tarcisio deleted branch feat/INFRA-68386-hub-sync-review-no-pr 2026-10-05 09:32:05 -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!48
No description provided.