import { defineConfig, devices } from "@playwright/test"; const baseURL = process.env.KNOWLEDGE_HUB_E2E_BASE_URL ?? "http://localhost:1240"; export default defineConfig({ testDir: "./specs", // The suite intentionally shares one setup-created workspace and mutates its // contents. Parallel workers would therefore race through the same UI state. workers: 1, globalSetup: "./global-setup.ts", outputDir: "../../artifacts/playwright-results", reporter: [ ["list"], ["html", { outputFolder: "../../artifacts/playwright-report", open: "never" }] ], use: { baseURL, trace: "retain-on-failure", screenshot: "only-on-failure", video: "retain-on-failure" }, projects: [ { name: "chromium-desktop", use: { ...devices["Desktop Chrome"] } }, { name: "chromium-mobile", use: { ...devices["Pixel 7"] } }, { name: "firefox-desktop", // Keep the broad historical suite on its established projects. This // cross-browser smoke covers the new platform workflows on each release. testMatch: "**/platform-productization.spec.ts", use: { ...devices["Desktop Firefox"] } }, { name: "webkit-mobile", testMatch: "**/platform-productization.spec.ts", use: { ...devices["iPhone 13"] } } ], expect: { timeout: 10_000 }, timeout: 30_000 });