Files
wehub-resource-sync fed8b2eed7
Backend release / release (push) Waiting to run
Bandit Security Scan / bandit_scan (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / manifest (push) Blocked by required conditions
Build and push DocsGPT FE Docker image for development / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / manifest (push) Blocked by required conditions
Python linting / ruff (push) Waiting to run
Run python tests with pytest / Run tests and count coverage (3.12) (push) Waiting to run
React Widget Build / build (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:28:29 +08:00

49 lines
1.2 KiB
TypeScript

// No `webServer` block by design — service orchestration (Flask, Celery, Vite,
// mock LLM, Postgres reset) is handled by `scripts/e2e/up.sh` and
// `scripts/e2e/down.sh`. Playwright's built-in `webServer` can only manage one
// process and would fight with the four-service native setup this suite needs.
// See `e2e-plan.md` → "Foundation" → P0-A for the orchestration
// contract.
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './specs',
// Serialize everything: we TRUNCATE Postgres between tests, so parallel
// workers would clobber each other's state.
fullyParallel: false,
workers: 1,
retries: 1,
// Local-only suite — allow `.only` during development.
forbidOnly: false,
// 60s: many specs hit the (stubbed) streaming LLM path end-to-end.
timeout: 60_000,
expect: {
timeout: 10_000,
},
reporter: [
['html', { open: 'never' }],
['list'],
],
use: {
baseURL: 'http://127.0.0.1:5179',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
actionTimeout: 15_000,
navigationTimeout: 30_000,
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
});