Maintainer ruling on #425: no Playwright globalTimeout. The 18-minute step limit under the unchanged 20-minute job limit stays, as do the always() uploads and the CI blob report. - Drop globalTimeout and PM_TEST_GLOBAL_TIMEOUT_MINUTES with its helper and tests. - A step that reaches its limit gets SIGTERM, which ended Playwright with no report and no blob. The running-tests reporter now catches the first SIGTERM, prints the tests still running and sends Playwright its own SIGINT, so the run ends interrupted and the blob report is written. A second SIGTERM kills as usual. - Test paths are relative to the suite's rootDir instead of the cwd, so `npm run --prefix` no longer prints ../../ prefixes. - The workflow comment and TESTING.md say the guarantee assumes an npm cache hit and that coverage shard 1 is tight in its 18-minute step.
23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
import { defineConfig, devices } from '@playwright/test';
|
|
import { reporters, workflowWorkers } from './test-workers.mjs';
|
|
|
|
// No global webServer: tests/browser/fixtures.mjs starts one server per worker
|
|
// on an OS-chosen port. Files run in parallel; tests inside a file keep their order.
|
|
export default defineConfig({
|
|
testDir: '../../tests/browser',
|
|
outputDir: './test-results/workflows',
|
|
testMatch: '*.spec.mjs',
|
|
workers: workflowWorkers(),
|
|
fullyParallel: false,
|
|
forbidOnly: Boolean(process.env.CI),
|
|
retries: 0,
|
|
reporter: reporters({ name: 'workflows' }),
|
|
use: { trace: 'retain-on-failure', screenshot: 'only-on-failure' },
|
|
projects: [
|
|
{ name: 'chromium', outputDir: './test-results/workflows/chromium', use: { browserName: 'chromium' } },
|
|
{ name: 'firefox', outputDir: './test-results/workflows/firefox', use: { browserName: 'firefox' } },
|
|
{ name: 'webkit', outputDir: './test-results/workflows/webkit', use: { browserName: 'webkit' } },
|
|
{ name: 'touch', outputDir: './test-results/workflows/touch', use: { ...devices['Pixel 7'], browserName: 'chromium' } },
|
|
],
|
|
});
|