import { defineConfig, devices } from "@playwright/test"; export default defineConfig({ testDir: "./tests/e2e", timeout: 30_000, retries: process.env.CI ? 2 : 0, workers: 1, reporter: [ ["list"], ["html", { open: "never", outputFolder: "playwright-report" }], ], use: { baseURL: "http://127.0.0.1:4173", screenshot: "only-on-failure", trace: "on-first-retry", video: "retain-on-failure", }, projects: [ { name: "smoke", testMatch: [ "**/smoke.spec.ts", "**/navigation.spec.ts", "**/channels.spec.ts", "**/badge.spec.ts", "**/channel-browser.spec.ts", "**/messaging.spec.ts", "**/custom-emoji.spec.ts", "**/profile-custom-emoji-status.spec.ts", "**/custom-emoji-screenshots.spec.ts", "**/channel-mute-screenshots.spec.ts", "**/channel-star-screenshots.spec.ts", "**/channel-controls-screenshots.spec.ts", "**/team-management-screenshots.spec.ts", "**/active-turn-screenshots.spec.ts", "**/active-turn-resilience-screenshots.spec.ts", "**/profile-active-turn-screenshots.spec.ts", "**/file-attachment.spec.ts", "**/video-attachment.spec.ts", "**/spoiler.spec.ts", "**/mentions.spec.ts", "**/relay-reconnect.spec.ts", "**/relay-reconnect-screenshots.spec.ts", "**/workflows.spec.ts", "**/identity-archive.spec.ts", "**/identity-archive-hide.spec.ts", "**/relay-connectivity-screenshots.spec.ts", "**/unread-pill-screenshots.spec.ts", "**/sidebar-more-unread-overlap.spec.ts", "**/thread-unread-screenshots.spec.ts", "**/animated-avatar-screenshots.spec.ts", "**/reminders-screenshots.spec.ts", "**/virtualization-screenshots.spec.ts", "**/scroll-history.spec.ts", ], use: { ...devices["Desktop Chrome"], }, }, { name: "integration", testMatch: [ "**/agents.spec.ts", "**/onboarding.spec.ts", "**/stream.spec.ts", "**/integration.spec.ts", "**/profile.spec.ts", "**/sidebar.spec.ts", "**/sidebar-relay-card.spec.ts", "**/tokens.spec.ts", "**/persona-env-vars.spec.ts", "**/mesh-compute.spec.ts", ], use: { ...devices["Desktop Chrome"], }, expect: { timeout: process.env.CI ? 15_000 : 10_000, }, }, ], webServer: { command: "python3 -m http.server 4173 -d dist", cwd: ".", reuseExistingServer: !process.env.CI, url: "http://127.0.0.1:4173", }, });