Web CI Pipeline — auraxis-web¶
Criado: 2026-05-09 Contexto: PRs #808, #809, #810 — falha recorrente no job E2E
Visão geral¶
O CI do auraxis-web (ci.yml) roda em todo PR e push para main.
Jobs em ordem de dependência:
lint ─┐
typecheck ─┤
feature-flag-hygiene ─┤─► build ─► e2e
i18n-parity ─┤ └─► docker-build
test ─┤ └─► bundle-analysis
contract-smoke ─┘ └─► lighthouse
└─► a11y
Job E2E — arquitetura atual¶
O job e2e builda o Nuxt localmente antes de rodar o Playwright:
e2e:
needs: [build]
steps:
- pnpm install
- pnpm playwright install --with-deps chromium
- name: Build Nuxt app # ← build local
run: pnpm build
env:
NODE_ENV: production
- pnpm test:e2e
Por que não usa artifact?¶
download-artifact@v4 falha consistentemente ao tentar baixar artifacts
produzidos pelo job build no mesmo workflow run, mesmo com o step
Upload build artifact reportando sucesso.
Erro observado:
Error: Unable to download artifact(s): Artifact not found for name: nuxt-build
Please ensure that your artifact is not expired and the artifact was uploaded
using a compatible version of toolkit/upload-artifact.
Causa raiz: incompatibilidade de escopo entre upload-artifact@v4 e
download-artifact@v4 em runs com re-tentativas (attempt ≥ 2) ou em certos
contextos de PR. O Lighthouse e o A11y nunca sofreram isso porque eles sempre
fizeram build local — o E2E foi corrigido para seguir o mesmo padrão em 2026-05-09.
Regra: nunca re-introduzir download-artifact no job E2E.
Locale EN — congelamento MVP1 (DEC-186)¶
app/i18n/locales/en.json está congelado. O CI valida o SHA-256 do arquivo
no job Locale EN Freeze (DEC-186).
Para modificar o EN legitimamente:
1. Adicionar [en-freeze-bypass] no subject do commit
2. Atualizar app/i18n/locales/.en-frozen.sha256 com o SHA do arquivo modificado
# Regenerar o SHA após editar en.json:
sha256sum app/i18n/locales/en.json | awk '{print $1}' \
> app/i18n/locales/.en-frozen.sha256
Nunca commitar mudanças em en.json sem seguir os dois passos.
Comandos locais equivalentes ao CI¶
# CI completo (sem E2E nem Lighthouse):
pnpm quality-check
# Com E2E:
bash scripts/run_ci_like_actions_local.sh --local --with-e2e
# Com Lighthouse:
bash scripts/run_ci_like_actions_local.sh --local --with-lighthouse
Referências¶
- Workflow:
.github/workflows/ci.yml - Fix do E2E artifact: PRs #808, #809, #810
- Freeze do locale EN: commit
14458d2(dec-02, DEC-186)