Files
clawmates/frontend/playwright.config.ts
T
Omar Sobh 298eb8e20e
ci / gates (push) Successful in 6s
ci / frontend (push) Successful in 23s
ci / rust (push) Successful in 3m43s
ci / e2e (push) Failing after 14s
ci / publish (push) Successful in 36s
e2e: move backend/dex/frontend from 8080 to 18080 so runners don't collide
Two of the fleet's Gitea Actions runners (morpheus, architect) already
had 8080 permanently bound by unrelated services (nginx on morpheus,
envio-hasura on architect) — every e2e run scheduled there died at
playwright's webServer preflight with "http://127.0.0.1:8080/healthz is
already used". 18080 is unused across morpheus/tank/architect.

Swap 8080 → 18080 in the eight e2e-scoped sites: clawmates.e2e.toml
(listen_addr + slack base_url + oauth redirect_base), dex.yaml (client
redirect URIs must match backend), playwright.config.ts + tests
(p4-slack, p6-oauth), the http.ts dev-fallback origin, and the two
shell scripts (e2e-backend safety check, rehearse-install healthz probe).

Prod compose (/opt/clawmates/docker-compose.yml on gw-04) is untouched;
prod continues to expose the server on 8080 internally on the compose
network (that's per-network, not host-shared).
2026-07-05 20:25:27 -07:00

35 lines
1.1 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
// E2E journeys run against the REAL Rust backend (deterministic e2e seed)
// and the production Next build — no network interception anywhere.
export default defineConfig({
testDir: "./tests/e2e",
timeout: 30_000,
fullyParallel: false,
// One worker: journeys share one backend + database; parallel spec files
// would interleave sessions and approval queues across tests.
workers: 1,
retries: process.env.CI ? 1 : 0,
reporter: process.env.CI ? "github" : "list",
use: {
baseURL: "http://127.0.0.1:3100",
trace: "retain-on-failure",
},
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
webServer: [
{
command: "bash ../scripts/e2e-backend.sh",
url: "http://127.0.0.1:18080/healthz",
reuseExistingServer: !process.env.CI,
timeout: 180_000,
},
{
command: "npm run build && npx next start -p 3100",
url: "http://127.0.0.1:3100/login",
reuseExistingServer: !process.env.CI,
timeout: 180_000,
env: { API_ORIGIN: "http://127.0.0.1:18080" },
},
],
});