ccd7c2f2fd
CI / Test (rest) (pull_request) Successful in 8s
CI / Test (store) (pull_request) Successful in 8s
CI / Test (server-http) (pull_request) Successful in 12s
CI / Build (windows/amd64) (pull_request) Successful in 9s
CI / Lint (pull_request) Successful in 20s
CI / Build (linux/arm64) (pull_request) Successful in 9s
CI / Build (linux/amd64) (pull_request) Successful in 17s
e2e / Playwright vs docker-compose (pull_request) Failing after 4m7s
Two issues uncovered by the page-snapshot dump after the agent state-dir fix: * The host page server-renders `Run backup now` as disabled while repo_status != ready, and the page has no live-refresh on that field. The test was navigating right after status flipped to 'online' but before auto-init had completed (~3s later), so the rendered HTML still showed init_running and the click was a no-op. Wait for repo_status === 'ready' before navigating. * playwright.config.ts pinned the per-test timeout at 60s, but the test itself uses 60s + 120s of internal waits. Bump to 240s so the test fails on real regressions instead of timing out on its own internal budget. Renamed the test description away from "under a minute" since it overpromises against the new timeout. The performance SLO belongs in a separate test if we want to assert it.
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { defineConfig, devices } from '@playwright/test';
|
|
|
|
// Single-target Chromium config: the e2e suite is narrow (smoke
|
|
// the production-shaped flow against the docker-compose stack).
|
|
// Cross-browser matrix doesn't add signal — what we're verifying is
|
|
// the server's HTML and the agent's WebSocket handshake, neither of
|
|
// which depends on browser engine.
|
|
|
|
const baseURL = process.env.RM_BASE_URL ?? 'http://127.0.0.1:8080';
|
|
|
|
export default defineConfig({
|
|
testDir: './tests',
|
|
// 4 minutes — the smoke test waits for: enrolment + bootstrap
|
|
// (~5s), auto-init landing (~10s), backup completion (~120s
|
|
// budget). 60s is far too tight in CI; 4m gives headroom even
|
|
// on a contended runner without masking real regressions.
|
|
timeout: 240_000,
|
|
expect: { timeout: 10_000 },
|
|
fullyParallel: false,
|
|
retries: process.env.CI ? 1 : 0,
|
|
workers: 1,
|
|
reporter: [['list'], ['html', { open: 'never' }]],
|
|
use: {
|
|
baseURL,
|
|
trace: 'retain-on-failure',
|
|
screenshot: 'only-on-failure',
|
|
video: 'retain-on-failure',
|
|
},
|
|
projects: [
|
|
{
|
|
name: 'chromium',
|
|
use: { ...devices['Desktop Chrome'] },
|
|
},
|
|
],
|
|
});
|