OPS74 — Recovery manual do flip pós-merge falha: falta GH_TOKEN no passo gh (issue-done/plan-issue on main merge) #123

Closed
opened 2026-08-20 02:28:30 +00:00 by fsolla · 2 comments
Owner
id depends serializes priority model
OPS74
OPS71
P1 composer-2.5

Bug (achado ao vivo no PR #748, 2026-08-20)

O caminho de recuperação manual do OPS71-FLIP (workflow_dispatch do issue-done-on-main-merge.yml e do plan-issue-ready-on-main-merge.yml) está quebrado: o passo "Fetch PR metadata" usa gh pr view mas o workflow não define GH_TOKEN no env → gh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable (exit 4), e o flip nunca roda.

Contexto da falha origem: o merge do PR #748 (OPS72) foi atribuído a github-actions[bot] apesar do auto-merge armado com o AUTOMERGE_PAT → evento closed suprimido (anti-recursão) → flip automático não rodou → recovery manual tentado → caiu neste bug. A Issue #98 ficou aberta.

Causa raiz dupla (separar em duas frentes)

  1. (Este issue) Falta GH_TOKEN: ${{ github.token }} no env do job dos dois workflows de flip. Permissão pull-requests: read já existe — só falta a env para o CLI gh.
  2. Open question: por que o merge do auto-merge saiu como github-actions[bot] mesmo com AUTOMERGE_PAT armado? O OPS71-FLIP (PR #746) dizia que com PAT de usuário real o merge sai como usuário real. Investigar no run agent-pr-ready-automerge do PR #748 — pode haver condição em que o merge cai no bot (livvia finding).

Fix imediato (já em ramo/PR)

GH_TOKEN adicionado no env do job de ambos os workflows. Após merge, re-dispatchar a recuperação para fechar a Issue #98.

Aceite

  • Recovery manual fecha uma issue sem erro de gh (GH_TOKEN presente).
  • Repro: dispatch do issue-done-on-main-merge com pr de um PR mergeado → flip comum no Forgejo.
--- id: OPS74 depends: [OPS71] serializes: [] priority: P1 model: composer-2.5 --- ## Bug (achado ao vivo no PR #748, 2026-08-20) O caminho de recuperação manual do OPS71-FLIP (`workflow_dispatch` do `issue-done-on-main-merge.yml` e do `plan-issue-ready-on-main-merge.yml`) está quebrado: o passo "Fetch PR metadata" usa `gh pr view` mas o workflow **não define `GH_TOKEN`** no env → `gh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable` (exit 4), e o flip nunca roda. Contexto da falha origem: o merge do PR #748 (OPS72) foi atribuído a `github-actions[bot]` apesar do auto-merge armado com o `AUTOMERGE_PAT` → evento `closed` suprimido (anti-recursão) → flip automático não rodou → recovery manual tentado → caiu neste bug. A Issue #98 ficou aberta. ## Causa raiz dupla (separar em duas frentes) 1. **(Este issue)** Falta `GH_TOKEN: ${{ github.token }}` no `env` do job dos dois workflows de flip. Permissão `pull-requests: read` já existe — só falta a env para o CLI `gh`. 2. **Open question:** por que o merge do auto-merge saiu como `github-actions[bot]` mesmo com `AUTOMERGE_PAT` armado? O OPS71-FLIP (PR #746) dizia que com PAT de usuário real o merge sai como usuário real. Investigar no run `agent-pr-ready-automerge` do PR #748 — pode haver condição em que o merge cai no bot (livvia finding). ## Fix imediato (já em ramo/PR) `GH_TOKEN` adicionado no `env` do job de ambos os workflows. Após merge, re-dispatchar a recuperação para fechar a Issue #98. ## Aceite - Recovery manual fecha uma issue sem erro de `gh` (GH_TOKEN presente). - Repro: dispatch do `issue-done-on-main-merge` com `pr` de um PR mergeado → flip comum no Forgejo.
fsolla changed title from OPS73 — Recovery manual do flip pós-merge falha: falta GH_TOKEN no passo gh (issue-done/plan-issue on main merge) to OPS74 — Recovery manual do flip pós-merge falha: falta GH_TOKEN no passo gh (issue-done/plan-issue on main merge) 2026-08-20 02:29:28 +00:00
fsolla added the
kind:chore
prio:P1
labels 2026-08-20 02:30:31 +00:00
fsolla added the
done
in-prod
labels 2026-08-20 02:34:00 +00:00
Author
Owner

Merged em main via PR #752 — done + in-prod + Issue fechada. Deploy de produção é manual (workflow_dispatch no GitHub Actions) — ver docs/AGENT-OPS.md.

Merged em main via PR #752 — `done` + `in-prod` + Issue fechada. Deploy de produção é manual (workflow_dispatch no GitHub Actions) — ver docs/AGENT-OPS.md.
Author
Owner

Correção de histórico: o flip automático fechou esta issue aos 02:34 com só a parte 1 (GH_TOKEN, PR #752) mergeada. Durante o primeiro uso real do recovery (severato do PR #748), descobri que faltava a parte 2: gh pr view --json merged não é campo válido — o campo certo é state (retorna MERGED). Corrigido nos dois workflows de flip via PR #753, mergeado em main (CI verde). A recuperação re-executada após o #753 fechou a Issue #98 (OPS72) corretamente como done + in-prod. O fix completo do OPS74 = #752 + #753.

Correção de histórico: o flip automático fechou esta issue aos 02:34 com **só a parte 1** (GH_TOKEN, PR #752) mergeada. Durante o primeiro uso real do recovery (severato do PR #748), descobri que faltava **a parte 2**: `gh pr view --json merged` não é campo válido — o campo certo é `state` (retorna `MERGED`). Corrigido nos dois workflows de flip via **PR #753**, mergeado em main (CI verde). A recuperação re-executada após o #753 fechou a Issue #98 (OPS72) corretamente como `done + in-prod`. O fix completo do OPS74 = #752 + #753.
Sign in to join this conversation.
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: fsolla/teqo#123
No description provided.