OPS73 — Admin do Payload segue em branco em produção — deploy do fix OPS69 (importMap S3) + verificação pós-deploy #114

Closed
opened 2026-08-19 23:45:03 +00:00 by fsolla · 3 comments
Owner
id depends serializes priority model
OPS73
P1 composer-2.5

Plano: docs/plans/ops73-deploy-admin-prod.md

--- id: OPS73 depends: [] serializes: [] priority: P1 model: composer-2.5 --- Plano: [`docs/plans/ops73-deploy-admin-prod.md`](docs/plans/ops73-deploy-admin-prod.md)
fsolla added the
blocked
kind:chore
prio:P1
labels 2026-08-19 23:45:03 +00:00
fsolla added
ready
and removed
blocked
labels 2026-08-19 23:49:09 +00:00
Author
Owner

Promovido a ready: plano de intenção em main (ciclo OPS17 — pnpm agent:ready).

Promovido a `ready`: plano de intenção em `main` (ciclo OPS17 — `pnpm agent:ready`).
fsolla added
in-progress
and removed
ready
labels 2026-08-19 23:53:12 +00:00
Author
Owner

Claimed by agent run at 2026-08-19T23:53:13.444Z. Lock otimista: outro claim deve falhar e re-rodar pnpm agent:claim.

Claimed by agent run at 2026-08-19T23:53:13.444Z. Lock otimista: outro claim deve falhar e re-rodar `pnpm agent:claim`.
Author
Owner

Entregue e verificado. /admin de produção voltou a renderizar o formulário de login (issue encerrada).

Síntese do diagnóstico (o plano de intenção se provou parcialmente errado)

  1. Produção JÁ havia recebido deploy às 23:09 de 2026-08-19 (revision 8c734ba) — mas essa revision não tinha o handler S3 no importMap: o commit S9 (8d2352c0) regenerou o importMap sem as envs S3_* e removeu as 2 linhas do fix OPS69 → erro getFromImportMap: PayloadComponent not found reintroduzido, admin em branco de novo (a revision anterior fbfbfb1 tinha o handler — "funcionou e no deploy seguinte parou").
  2. O main do GitHub divergiu do Forgejo (pós-cutover OPS71): o GitHub tinha o fix + OPS71, mas não as features S8 ("Nossa história") e S9 (captura de novidades) que produção já rodava → deployar o main como estava regrediria as duas.

Entrega

  • PR #751 (624126da → rebase em dba75ff8): cherry-pick do S9 (8d2352c0) + S8 (488dcf7d) para o GitHub main, mantendo o handler no importMap (prova: generate:importmap com envs S3_* dummy → diff vazio vs main). CI verde (2ª tentativa — 3 falhas eram flakes ambientais do e2e full, novo no CI do GitHub; texto do seedUser é race de dev@payloadcms.com sob workers paralelos).
  • Deploy pelo pipeline canônico do OPS71: dispatch manual do deploy.yml → verify (full) → job deploy no runner self-hosted recém-instalado (#113). Duas tentativas deram "stale run" por merges paralelos no meio do verify; a terceira aplicou dba75ff8 (incluiu C143: migração de responsáveis de demandas, aditiva+backfill — revisada).

Verificação pós-deploy (2026-08-20)

  • Container: revision dba75ff8, healthy, started 03:31 UTC.
  • Log: 0 ocorrências de getFromImportMap desde o start (antes: presente).
  • /admin (browser): redireciona para /admin/login, título "Login - Payload", 2 inputs (email/senha) + botão "Login", 0 erros de console. Antes: 0 inputs/0 botões (tela branca).
  • Home pública mantém "Nossa história" (S8) e form de novidades (S9).
  • Evidência: docs/plans/ops73-deploy-admin-prod-fixed-evidence.png (PR #755).

Falta ao humano: um editor logar e abrir uma coleção (smoke de leitura final — credenciais de prod não ficam com o agente).

Débitos registrados (ver Issues)

  • Re-home do S10 (pixel Meta) no GitHub main (não está em prod nem no GitHub main; está mergeado só no Forgejo).
  • Workspace do homeserver (~/teqo-deploy) ainda aponta origin = http://localhost:3000/... (Forgejo local) — o script re-aponta no deploy, mas vale apontar de uma vez.
  • Reforço da prioridade do guard #87 (regen do importMap sem envs S3_*): o S9 é a 2ª ocorrência da mesma classe de bug.
**Entregue e verificado.** `/admin` de produção voltou a renderizar o formulário de login (issue encerrada). ## Síntese do diagnóstico (o plano de intenção se provou parcialmente errado) 1. **Produção JÁ havia recebido deploy às 23:09 de 2026-08-19** (revision `8c734ba`) — mas essa revision **não tinha o handler S3 no importMap**: o commit S9 (`8d2352c0`) regenerou o importMap **sem** as envs `S3_*` e removeu as 2 linhas do fix OPS69 → erro `getFromImportMap: PayloadComponent not found` reintroduzido, admin em branco de novo (a revision anterior `fbfbfb1` tinha o handler — "funcionou e no deploy seguinte parou"). 2. **O main do GitHub divergiu do Forgejo** (pós-cutover OPS71): o GitHub tinha o fix + OPS71, mas **não** as features S8 ("Nossa história") e S9 (captura de novidades) que produção já rodava → deployar o main como estava regrediria as duas. ## Entrega - **PR #751** (`624126da` → rebase em `dba75ff8`): cherry-pick do S9 (`8d2352c0`) + S8 (`488dcf7d`) para o GitHub main, **mantendo o handler** no importMap (prova: `generate:importmap` com envs `S3_*` dummy → diff vazio vs main). CI verde (2ª tentativa — 3 falhas eram flakes ambientais do e2e full, novo no CI do GitHub; texto do seedUser é race de `dev@payloadcms.com` sob workers paralelos). - **Deploy** pelo pipeline canônico do OPS71: dispatch manual do `deploy.yml` → `verify` (full) → job `deploy` no runner self-hosted recém-instalado (#113). Duas tentativas deram "stale run" por merges paralelos no meio do verify; a terceira aplicou **`dba75ff8`** (incluiu C143: migração de responsáveis de demandas, aditiva+backfill — revisada). ## Verificação pós-deploy (2026-08-20) - Container: revision `dba75ff8`, healthy, started 03:31 UTC. - **Log: 0 ocorrências de `getFromImportMap`** desde o start (antes: presente). - `/admin` (browser): redireciona para `/admin/login`, título "Login - Payload", **2 inputs (email/senha) + botão "Login"**, 0 erros de console. Antes: 0 inputs/0 botões (tela branca). - Home pública mantém **"Nossa história"** (S8) e **form de novidades** (S9). - Evidência: `docs/plans/ops73-deploy-admin-prod-fixed-evidence.png` (PR #755). Falta ao humano: **um editor logar e abrir uma coleção** (smoke de leitura final — credenciais de prod não ficam com o agente). ## Débitos registrados (ver Issues) - Re-home do **S10 (pixel Meta)** no GitHub main (não está em prod nem no GitHub main; está mergeado só no Forgejo). - **Workspace do homeserver** (`~/teqo-deploy`) ainda aponta `origin = http://localhost:3000/...` (Forgejo local) — o script re-aponta no deploy, mas vale apontar de uma vez. - Reforço da prioridade do **guard #87** (regen do importMap sem envs `S3_*`): o S9 é a 2ª ocorrência da mesma classe de bug.
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#114
No description provided.