mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 04:12:10 +03:00
* feat(quality): instala @axe-core/playwright + allowlist (T13)
Pré-requisito do gate de a11y real. O spec tests/e2e/a11y.spec.ts já tem o
mecanismo REQUIRE_AXE=1 que falha se o pacote estiver ausente quando exigido —
faltava só o pacote + o job nightly + o baseline real.
- @axe-core/playwright@^4.11.3 em devDependencies (via --package-lock-only,
não toca o node_modules compartilhado das worktrees)
- adicionado à dependency-allowlist (check:deps OK, 127 deps)
- vuln-ratchet OK (1 moderate pré-existente, baseline 10 — axe não regride)
* feat(quality): job a11y nightly (REQUIRE_AXE=1) + gate per-PR (T13)
- novo job 'a11y' em nightly-resilience.yml: o webServer do Playwright builda o
Next (build-next-isolated.mjs) e sobe o standalone sozinho (sem artefato pré-
buildado como o test-e2e do ci.yml), REQUIRE_AXE=1 roda a análise axe real.
- gate de nightly no spec: a11y.spec.ts é casado pelo glob 'tests/e2e/*.spec.ts'
do job per-PR (9 shards); sem gate, instalar @axe-core/playwright ligaria axe
em TODO PR (e falharia em baseline 0). Os 4 testes de página agora skipam a
menos que REQUIRE_AXE=1 — per-PR fica rápido/verde, nightly roda real.
- zizmor 139->145: +3 drift pré-existente da base a23d0d678 (release fast-path
não ratcheta workflows) + 3 do job novo (checkout/setup-node/cache @vN, mesma
convenção deliberada e INTOCADA de todos os workflows). Ver nota no baseline.
* feat(quality): congela baseline real de violações a11y (T13)
Medido no primeiro run nightly (27852779527, REQUIRE_AXE=1): /login=1,
/dashboard=4, /dashboard/providers=3, /dashboard/settings=5. O webServer
buildou+subiu o app e o axe rodou nas 4 páginas; a falha do run foi só o
assert vs baseline 0 (esperado), não infra.