mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
ci(deploy): establish staged Dokploy promotion
This commit is contained in:
1 parent
2dad7aa352
commit
a455325147
14 files changed
+199
-310
No files matched your search
@@ -6,23 +6,25 @@ is proved through the real stack.
|
||||
## Gates
|
||||
|
||||
- `verify:fast`: invariant lint, workspace lint/typecheck, and unit tests.
|
||||
- `verify:full`: fast gate plus builds and local Supabase function tests when the
|
||||
required local tools are present.
|
||||
- `verify:full`: fast gate plus builds and standalone API/PostgreSQL integration
|
||||
tests against a loopback database.
|
||||
- `verify:e2e`: Playwright browser flows and native Maestro flows against an
|
||||
already-running local stack.
|
||||
- `verify`: full plus E2E; this is the pre-PR target.
|
||||
|
||||
CI runs deterministic checks on every pull request. Running-stack tests use a
|
||||
separate job because they require Docker/Supabase and produce traces,
|
||||
screenshots, and videos as artifacts.
|
||||
CI runs deterministic checks on every pull request and on pushes to `staging`
|
||||
and `main`. The backend integration job provisions disposable PostgreSQL and
|
||||
refuses non-loopback database URLs. User-facing browser/native acceptance remains
|
||||
a pre-promotion check because it requires running services and test identities.
|
||||
|
||||
## Test ownership
|
||||
|
||||
- Unit/component tests live with their workspace.
|
||||
- Supabase function integration tests live in `apps/supabase/tests`.
|
||||
- Standalone backend integration tests live in `apps/api/test`.
|
||||
- `apps/supabase/tests` cover the retired data plane and are not a deployment gate.
|
||||
- Cross-application browser tests live in `e2e`.
|
||||
- Native black-box flows live in `e2e/maestro`.
|
||||
|
||||
E2E must use local or sandbox endpoints. Tests refuse non-local Supabase URLs.
|
||||
Authentication is proved once through the public flow; reusable fixture sessions
|
||||
avoid repeating auth in unrelated scenarios.
|
||||
E2E product-data endpoints must be local or staging, never production. Local
|
||||
database tests refuse non-loopback URLs. Authenticated staging acceptance uses
|
||||
the designated non-production hosted Auth project and disposable fixture users.
|
||||
Reference in new issue
Block a user