litellm/tests/e2e/ui/migration.serverRootPath.config.ts
devin-ai-integration[bot] 21cfa0eacd
ci: run every CircleCI check from the integration workflow (#45938)
* ci: run every CircleCI check from the integration workflow

* test(ci): keep the startup test CircleCI-owned

* test(ui): find reset log rows by request id so concurrent workers cannot page them out

* test(ui): retry the key budget window spec until the draft refresh fix lands

* ci(ui): set Playwright workers and retries on the CircleCI command only

The shared playwright.config.ts also drives the Buildkite UI suite, where 3 workers
ran out of memory on one of two runs. Buildkite keeps main's 1 worker and 2 retries

---------

Co-authored-by: yuneng <yuneng@berri.ai>
2026-10-11 07:39:16 -07:00

32 lines
1.1 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
import { UI_BASE_URL } from "./constants";
/**
* App Router migration smoke under a non-root mount. Boot the proxy with the same
* SERVER_ROOT_PATH (e.g. SERVER_ROOT_PATH=/litellm) and a UI built for it before
* running. globalSetup logs in at `${SERVER_ROOT_PATH}/ui/login` so the admin
* storage state is valid under the prefix.
*/
export default defineConfig({
testDir: "./tests/migration",
testMatch: ["migratedPages.spec.ts"],
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: 0,
grep: /navigates directly between two migrated pages/,
workers: process.env.CI ? 1 : undefined,
reporter: "list",
use: {
baseURL: UI_BASE_URL,
trace: "on-first-retry",
actionTimeout: 15 * 1000,
navigationTimeout: 30 * 1000,
launchOptions: {
slowMo: process.env.SLOWMO ? parseInt(process.env.SLOWMO, 10) || 0 : 0,
},
},
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
timeout: 3 * 60 * 1000,
expect: { timeout: 10 * 1000 },
globalSetup: require.resolve("./migration.serverRootPath.globalSetup"),
});