mirror of
https://github.com/saltbo/zpan.git
synced 2026-09-21 04:59:47 +08:00
Split E2E into two parallel jobs: - e2e-node: Node backend + Vite (--mode node), uses process.env - e2e-cf: CF Workers via cloudflare vite plugin, uses .dev.vars Playwright config switches webServer based on E2E_RUNTIME env var. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
843 B
TypeScript
41 lines
843 B
TypeScript
import { defineConfig, devices } from '@playwright/test'
|
|
|
|
const isCF = process.env.E2E_RUNTIME === 'cf'
|
|
|
|
const nodeServers = [
|
|
{
|
|
command: 'tsx watch server/entry-node.ts',
|
|
port: 8222,
|
|
reuseExistingServer: !process.env.CI,
|
|
},
|
|
{
|
|
command: 'vite --mode node',
|
|
port: 5173,
|
|
reuseExistingServer: !process.env.CI,
|
|
},
|
|
]
|
|
|
|
const cfServers = [
|
|
{
|
|
command: 'vite dev',
|
|
port: 5173,
|
|
reuseExistingServer: !process.env.CI,
|
|
},
|
|
]
|
|
|
|
export default defineConfig({
|
|
testDir: './e2e',
|
|
timeout: 30000,
|
|
retries: process.env.CI ? 2 : 0,
|
|
reporter: process.env.CI ? 'github' : 'list',
|
|
use: {
|
|
baseURL: 'http://localhost:5173',
|
|
headless: true,
|
|
trace: 'on-first-retry',
|
|
},
|
|
projects: [
|
|
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
|
|
],
|
|
webServer: isCF ? cfServers : nodeServers,
|
|
})
|