From 94d1ca336487dcb763e1616c3681da2e0559b595 Mon Sep 17 00:00:00 2001 From: fsolla Date: Thu, 1 Oct 2026 16:56:06 +0000 Subject: [PATCH] docs: registra o PR #1407 no post-mortem e no changelog --- docs/changelog/2026-10-01-e2e-c104-calendar-day-locator.md | 2 +- docs/postmortems/2026-10-01-e2e-c104-calendar-day-locator.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/changelog/2026-10-01-e2e-c104-calendar-day-locator.md b/docs/changelog/2026-10-01-e2e-c104-calendar-day-locator.md index 41bd052f..06e7de34 100644 --- a/docs/changelog/2026-10-01-e2e-c104-calendar-day-locator.md +++ b/docs/changelog/2026-10-01-e2e-c104-calendar-day-locator.md @@ -1 +1 @@ -**Fix CI — clique no dia do calendário pelo nome acessível derrubava o verify do deploy (C104, miss #55) (2026-10-01):** o `verify` do deploy ficou vermelho em 2026-10-01 (runs `36816518055` e `36820002374`; Issue #1406, auto-unblock) porque o e2e do C104 clicava a célula de término com `getByRole('button', { name: '2 de Outubro de 2026' })` e o matcher de nome do Playwright é substring + case-insensitive: o nome acessível real do react-day-picker pt-BR ("sexta-feira, 2 de outubro de 2026") casa também com os dias 12 e 22 do mesmo grid — `strict mode violation ... resolved to 3 elements` nas 3 tentativas. A classe só dispara quando hoje + 1 cai em dia 01–09, por isso passou desde o C134 (commit `fe0a7999`), que removeu a data fixa do C104 mas manteve o clique pelo nome; a primeira detecção (#1401) foi fechada sem PR de fix. O run vermelho segurava a lane e os merges seguintes tiveram o deploy preflight-skipped (`77e7b0ef`, `cd4942d9`) — deploy do main bloqueado, sem impacto em produção (o `verify` roda antes de publicar). O fix troca o clique pelo contrato estável do Calendar, `calendarDaySelector(civilDate)` → `[data-day="DD/MM/YYYY"]` (novo helper em `tests/e2e/helpers/agendaPeriodLabels.ts`, aditivo), e adiciona o guard miss #55 no `e2eNavigationConventions`, que varre todos os `tests/e2e/**/*.e2e.spec.ts` e falha o build em clique de célula de dia por nome (mais o teste do contrato zero-padded), além do parágrafo de convenção no `docs/TESTING.md`; sem mudança de schema/produto. Provas: repro local falha sem o fix com o mesmo strict mode violation, o guard falha com o spec antigo (offender `tests/e2e/campaignActivity.e2e.spec.ts:355`), e2e C104 1 passed (1.4m, dev) e `pnpm gate:fast` verde (458 arquivos / 5.071 testes; os 7 flaky do run passaram no retry, sem relação causal com o diff). PR a preencher (este PR); a confirmação é o `verify` verde no deploy pós-merge e produção depende do approve humano (não aprovado por esta sessão). +**Fix CI — clique no dia do calendário pelo nome acessível derrubava o verify do deploy (C104, miss #55) (2026-10-01):** o `verify` do deploy ficou vermelho em 2026-10-01 (runs `36816518055` e `36820002374`; Issue #1406, auto-unblock) porque o e2e do C104 clicava a célula de término com `getByRole('button', { name: '2 de Outubro de 2026' })` e o matcher de nome do Playwright é substring + case-insensitive: o nome acessível real do react-day-picker pt-BR ("sexta-feira, 2 de outubro de 2026") casa também com os dias 12 e 22 do mesmo grid — `strict mode violation ... resolved to 3 elements` nas 3 tentativas. A classe só dispara quando hoje + 1 cai em dia 01–09, por isso passou desde o C134 (commit `fe0a7999`), que removeu a data fixa do C104 mas manteve o clique pelo nome; a primeira detecção (#1401) foi fechada sem PR de fix. O run vermelho segurava a lane e os merges seguintes tiveram o deploy preflight-skipped (`77e7b0ef`, `cd4942d9`) — deploy do main bloqueado, sem impacto em produção (o `verify` roda antes de publicar). O fix troca o clique pelo contrato estável do Calendar, `calendarDaySelector(civilDate)` → `[data-day="DD/MM/YYYY"]` (novo helper em `tests/e2e/helpers/agendaPeriodLabels.ts`, aditivo), e adiciona o guard miss #55 no `e2eNavigationConventions`, que varre todos os `tests/e2e/**/*.e2e.spec.ts` e falha o build em clique de célula de dia por nome (mais o teste do contrato zero-padded), além do parágrafo de convenção no `docs/TESTING.md`; sem mudança de schema/produto. Provas: repro local falha sem o fix com o mesmo strict mode violation, o guard falha com o spec antigo (offender `tests/e2e/campaignActivity.e2e.spec.ts:355`), e2e C104 1 passed (1.4m, dev) e `pnpm gate:fast` verde (458 arquivos / 5.071 testes; os 7 flaky do run passaram no retry, sem relação causal com o diff). PR #1407; a confirmação é o `verify` verde no deploy pós-merge e produção depende do approve humano (não aprovado por esta sessão). diff --git a/docs/postmortems/2026-10-01-e2e-c104-calendar-day-locator.md b/docs/postmortems/2026-10-01-e2e-c104-calendar-day-locator.md index 416d0675..dc093fda 100644 --- a/docs/postmortems/2026-10-01-e2e-c104-calendar-day-locator.md +++ b/docs/postmortems/2026-10-01-e2e-c104-calendar-day-locator.md @@ -10,7 +10,7 @@ | Severidade | alta (bloqueou o deploy do main; CI vermelho — sem impacto em produção, o `verify` roda antes de publicar) | | Ambiente | CI (job `verify` do Deploy no GitHub Actions) | | Issue(s) | #1406 (auto-unblock; não fechar — o wrapper cuida) + #1401 (primeira detecção, fechada sem fix) | -| PR do fix | a preencher (este PR) — número registrado por commit de follow-up (precedente `59a6480d`) | +| PR do fix | #1407 | | Detectado por | CI (deploy run vermelho) / wrapper auto-unblock | ## Timeline @@ -23,7 +23,7 @@ | Detecção 2 / do disparo | 2026-10-01 ~15:40 / 16:08 UTC | run `36820002374` (commit `ca843fb4`, attempt 2 ~15:40Z), passo do `verify` falhou às 16:08Z: C104 falhou nas 3 tentativas; 1 failed, 7 flaky, 323 passed. Issue #1406 aberta (auto-unblock). | | Bloqueio do deploy | 2026-10-01 | O run vermelho segurava a lane; os deploys de `77e7b0ef` (run `36886280567`) e `cd4942d9` (run `36887968057`) foram preflight-skipped. | | Correção implementada | 2026-10-01 | Worktree `fix/falha-do-job-verify-do-deploy-github-actions-desbloqueie`. | -| Correção mergeada | a preencher | a preencher (este PR). | +| Correção mergeada | a preencher | PR #1407 aberto (Ready, auto-merge armado); merge a preencher. | | Deploy | a preencher | a preencher. | | Verificado em prod | não se aplica | Bug de CI/teste; o comportamento público não muda. A confirmação é o `verify` verde no run de deploy pós-merge; produção depende do approve humano (não aprovado por esta sessão). |