Public source validation / validate (push) Failing after 3m8s
1.6 KiB
1.6 KiB
CI pipeline target
Codex must implement CI-equivalent commands locally even when no hosted CI is connected.
Recommended stages:
- repository/planning validation;
- formatting;
- lint/static analysis;
- generated contract drift;
- wiring/reachability gate (
python tools/check_wiring.py): every production package must have at least one non-test importer reachable from a binary (cmd/api,cmd/worker,cmd/agent,cmd/migrate), or be listed intools/wiring_allowlist.jsonwith a reason and a tracking task id; a task may not be marked done while its deliverable is unreachable; - frontend type/unit (
pnpm testruns Vitest + Testing Library, including ADR-0008 status invariants); - Go unit/race where suitable;
- integration with PostgreSQL/fake sources;
- frontend build;
- API/OpenAPI/schema compatibility;
- Playwright smoke (
pnpm test:e2e, desktop/mobile/wallboard Chromium projects); - accessibility (axe-core in the Playwright smoke; serious or critical violations fail);
- dependency/license/secret scan;
- container build and image scan;
- compose/config validation;
- evidence summary.
The executable Gitea Actions definition is .gitea/workflows/ci.yml. The local
equivalent is scripts/verify.ps1; install Chromium once with
pnpm exec playwright install chromium before its browser stage. Browser tests
mock only the versioned API boundary and exercise the real built React routes.
Release pipeline additionally:
- clean checkout;
- full E2E;
- performance subset;
- migration/backup/restore;
- SBOM/provenance where feasible;
- immutable image digest record;
- deployment smoke and rollback proof.