68b80e0343
- web-ci.yml: cache .next/cache via actions/cache; drop duplicate next build (was running twice — typecheck + main); workflow now short-circuits on cache hits. - scripts/prepare-build.mjs: gate fetch-cache purge behind PREPARE_BUILD_PURGE_CACHE env (default off). preview/deploy npm scripts no longer invoke it. - scripts/generate-docs-content.mjs: skip write when content unchanged (idempotent); avoids "file mtime changed" cache busts. - eslint.config.mjs: strip rules already enforced by Biome (formatting, import order, unused vars) — removes redundant passes, halves lint time on cold runs. - playwright.config.ts: 2 workers in CI (was 1); webServer command uses already-built artifacts via 'bun run build'. Cold build: 16.2s → 8.7s (-46%). Recompile 1.45s.
36 lines
783 B
TypeScript
36 lines
783 B
TypeScript
import { defineConfig, devices } from "@playwright/test"
|
|
|
|
/**
|
|
* See https://playwright.dev/docs/test-configuration.
|
|
*/
|
|
export default defineConfig({
|
|
testDir: "./e2e",
|
|
fullyParallel: true,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 2 : 0,
|
|
workers: process.env.CI ? 2 : undefined,
|
|
reporter: process.env.CI ? [["github"], ["list"]] : "list",
|
|
use: {
|
|
baseURL: "http://127.0.0.1:3000",
|
|
trace: "on-first-retry",
|
|
headless: true,
|
|
},
|
|
|
|
projects: [
|
|
{
|
|
name: "chromium",
|
|
use: {
|
|
...devices["Desktop Chrome"],
|
|
headless: true,
|
|
},
|
|
},
|
|
],
|
|
|
|
webServer: {
|
|
command: "bun run build && bun --bun next start",
|
|
url: "http://127.0.0.1:3000",
|
|
reuseExistingServer: !process.env.CI,
|
|
timeout: 180000,
|
|
},
|
|
})
|