docs: registra o deploy verde (run 34770925404) nos post-mortems dos dois bloqueios

This commit is contained in:
Francisco Solla 2026-09-13 15:35:00 -03:00
parent 424ee3111f
commit 85ce1e2690
2 changed files with 10 additions and 10 deletions

View file

@ -19,9 +19,9 @@
| ------------------ | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Início provável | 2026-08-16 | commit `21b3c00d` ("chore(deploy): prepara imagem standalone para homeserver") introduz a stage `migrator` com `CMD ["pnpm", "migrate"]`; o defeito (dependência de egress no start do container) é latente desde então — o mesmo download de pnpm no start funcionou no migrator de produção em 2026-09-13 01:09:36 UTC (`teqo-1313-migrate`, run 34728680411), mascarando a falha |
| Detecção | 2026-09-13 15:52:09 UTC | deploy run 34765554681 (main `67a40a6c`, PR #973 mergeado 15:24:11 UTC), job `deploy staging (teqo-staging)`: `[deploy] FAILED: migrations failed — restoring previous compose and image`, exit 1; `deploy production (teqo-1313)` skipped (`needs: [deploy-staging]`); o script restaurou o compose anterior (nada publicado); produção intocada |
| Correção mergeada | pendente | PR #976 aguardando CI + auto-merge |
| Deploy | pendente | re-dispatch manual do `deploy.yml` após o merge (a registrar) |
| Verificado em prod | pendente | confirmação do humano após o deploy |
| Correção mergeada | 2026-09-13 17:12:38 UTC | PR #976 mergeada (auto-merge, `CI (PR) / checks` verde); o PR #974 foi fechado como superseded porque o branch antigo carregava os commits do #973 e o rebase merge do GitHub recusava (`This branch can't be rebased`) — o #976 nasceu de `main` com só os 2 commits novos |
| Deploy | 2026-09-13 | run 34770925404: `verify` verde → staging verde (pnpm assado, migrations aplicadas, rollout + smoke) → produção aprovada no environment `production` e verde |
| Verificado em prod | 2026-09-13 18:33:36 UTC | run 34770925404 publicou o SHA `424ee311`; healthcheck + smoke do script verdes e `https://jorgesolla1313.com.br/` respondendo 200 (checagem read-only) |
## O bug
@ -54,8 +54,8 @@ Resolve a causa: o toolchain deixa de ser buscado na rede no start do container;
- Teste de regressão: `tests/unit/deployScript.unit.spec.ts:142` "Dockerfile: the migrator bakes pnpm at build time (no runtime registry fetch)" — falha sem o fix (RED sem a linha `RUN corepack install`) e passa com
- Prova offline local: `docker run --network none <imagem> pnpm --version` → `10.11.0` com o bake; sem o bake o mesmo run offline falha com o erro exato do staging
- Suíte: `pnpm gate:fast` verde
- CI: pendente — PR #976 (check required `CI (PR) / checks`)
- Prod: pendente — re-dispatch manual do `deploy.yml` após o merge; confirmação do humano pendente (a registrar)
- CI: verde no PR #976 (check required `CI (PR) / checks`)
- Prod: run 34770925404 (2026-09-13 18:33:36 UTC), SHA `424ee311` — staging e produção verdes; `https://jorgesolla1313.com.br/` 200 (checagem read-only)
## Prevenção

View file

@ -19,9 +19,9 @@
| ------------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Início provável | 2026-08-11 | commit `c69990a3` ("fix(C126): isola o escopo do espelho Google nos int specs (fim do flake paralelo)") introduz o escopo/limpeza por título `{ title: { like: 'C114%' } }` em `tests/int/googleCalendarSync.int.spec.ts`; a colisão com UUID alheio é rara, então o defeito fica latente |
| Detecção | 2026-09-13 14:46:31 UTC | run de deploy 34763253924 (main `7ca708a3`), job `verify`, passo "Integration tests (full suite)": 1 failed \| 82 passed — `tests/int/googleCalendarSync.int.spec.ts` > "a cancelled event in Google cancels the confirmado activity, then the trash is cleaned" falha nas DUAS tentativas (`retry: 1`); os jobs `deploy-staging` e `deploy-production` ficam skipped |
| Correção mergeada | pendente | PR #973 aguardando CI + auto-merge |
| Deploy | pendente | dispatch manual do `deploy.yml` pelo humano após o merge (nenhum merge publica sozinho) |
| Verificado em prod | pendente | confirmação do humano após o deploy |
| Correção mergeada | 2026-09-13 15:24:11 UTC | PR #973 mergeada (auto-merge, `CI (PR) / checks` verde) |
| Deploy | 2026-09-13 | run 34765554681 (bloqueado no migrator do staging — ver post-mortem `2026-09-13-deploy-staging-migrator-corepack.md`) e run 34770925404 (staging + produção verdes) |
| Verificado em prod | 2026-09-13 18:33:36 UTC | run 34770925404 publicou o SHA `424ee311`; healthcheck + smoke do script verdes e `https://jorgesolla1313.com.br/` respondendo 200 (checagem read-only) |
## O bug
@ -54,8 +54,8 @@ Resolve a causa: o escopo e a limpeza passam a ser ownership por id (à prova de
- Teste de regressão: `tests/int/googleCalendarSync.int.spec.ts:250` "a foreign title CONTAINING c114 stays out of the scope (id-scoped mirror)" — falha sem o fix (`expected 2 to be 1`) e passa com
- Suíte: verificador independente rodou a suíte int completa `VITEST_MAX_WORKERS=4 pnpm test:int` = 83 files / 744 tests verdes (antes: 83 files / 743 tests, 1 failed no CI) e os 6 specs da família Google (47 tests) verdes; `pnpm gate:fast` verde; o pin de convenções falha com o padrão antigo
- CI: pendente — PR #973 aberta (check required `CI (PR) / checks`)
- Prod: pendente — dispatch manual do `deploy.yml` pelo humano após o merge; confirmação do humano pendente
- CI: verde no PR #973 (check required `CI (PR) / checks`)
- Prod: run 34770925404 (2026-09-13 18:33:36 UTC), SHA `424ee311` — healthcheck + smoke do script verdes; `https://jorgesolla1313.com.br/` 200 (checagem read-only)
## Prevenção