OPS66 — deploy: migrate antes do build do runner (deadlock de migrations em caminho estático) #82

Merged
fsolla merged 2 commits from OPS66-ops66-deploy-build-de-geracao-estatica-le-schema-novo- into main 2026-08-19 13:14:18 +00:00
Owner

Closes #68 (OPS66)

Deadlock de migrations em caminho estático: o deploy buildava o runner antes do migrate; uma migration que cria tabela lida em geração estática (S2) fazia o build falhar para sempre e o migrate nunca rodar.

Fix: reordenação de fases no scripts/deploy-homeserver.sh — migrator (não roda next build, builda contra schema antigo) → push/tag → swap do compose (backup + trap) → migrate via compose run teqo-1313-migrate (caminho canônico, imagem nova) → build do runner contra o banco já migrado → rollout/healthcheck/smoke.

  • tests/unit/deployScript.unit.spec.ts: pin de ordem completo (migrator < swap < migrate < runner build < rollout) + invariante do Dockerfile (estágio migrator nunca roda next build)
  • Runbook docs/ops/teqo-1313-deploy.md: fluxo, caveat de rollback, falha conhecida nova (relation ... does not exist)
  • Comentário no Dockerfile + precisão em AGENTS.md; changelog OPS44 (docs/changelog/2026-08-19-ops66.md)

Gate local verde: lint + typecheck + 2392 unit + 791 int.

**Closes #68 (OPS66)** Deadlock de migrations em caminho estático: o deploy buildava o runner **antes** do migrate; uma migration que cria tabela lida em geração estática (S2) fazia o build falhar para sempre e o migrate nunca rodar. **Fix:** reordenação de fases no `scripts/deploy-homeserver.sh` — migrator (não roda `next build`, builda contra schema antigo) → push/tag → swap do compose (backup + trap) → **migrate** via `compose run teqo-1313-migrate` (caminho canônico, imagem nova) → **build do runner** contra o banco já migrado → rollout/healthcheck/smoke. - `tests/unit/deployScript.unit.spec.ts`: pin de ordem completo (migrator < swap < migrate < runner build < rollout) + invariante do Dockerfile (estágio migrator nunca roda `next build`) - Runbook `docs/ops/teqo-1313-deploy.md`: fluxo, caveat de rollback, falha conhecida nova (`relation ... does not exist`) - Comentário no Dockerfile + precisão em AGENTS.md; changelog OPS44 (`docs/changelog/2026-08-19-ops66.md`) Gate local verde: lint + typecheck + 2392 unit + 791 int.
fsolla added 2 commits 2026-08-19 13:10:01 +00:00
style: prettier — runbook/impl plan/unit test (OPS66)
All checks were successful
CI (PR) / checks (pull_request) Successful in 4m11s
PR Ready + auto-merge / ready-automerge (pull_request) Successful in 4m22s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 15s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
8d33e89102
fsolla scheduled this pull request to auto merge when all checks succeed 2026-08-19 13:10:08 +00:00
fsolla merged commit 8d33e89102 into main 2026-08-19 13:14:18 +00:00
Sign in to join this conversation.
No reviewers
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#82
No description provided.