import { defineConfig } from '../../../job-tracker-ui/node_modules/@playwright/test'; import base from '../../../job-tracker-ui/playwright.config'; import path from 'node:path'; const source = process.env.CV_UX_LINUX_SOURCE; if (!source || !/^[a-f0-9]{64}$/.test(source) || process.env.CV_UX_LINUX_READY !== `cv-ux-linux-${source.slice(0, 12)}`) { throw new Error('Use the current-source CV-UX Linux lifecycle and its immutable image.'); } const servers = Array.isArray(base.webServer) ? base.webServer : [base.webServer!]; export default defineConfig({ ...base, testDir: path.resolve('e2e'), testMatch: ['cv-readiness.spec.ts', 'cv-settings-presentation.spec.ts', 'cover-letter-document-fidelity.spec.ts'], grep: /native preview\/PDF fidelity corpus|document controls preserve settings|cover letter native preview\/PDF fidelity/, workers: 1, retries: 0, webServer: [{ ...servers[1], cwd: path.resolve(__dirname, '../../../job-tracker-ui'), reuseExistingServer: false }], metadata: { linuxApiIdentity: process.env.CV_UX_LINUX_READY, sourceSha256: source, mariaDbVersion: '12.2.2', cvDocuments: 24, letterDocuments: 4 }, });