mirror of
https://github.com/maputnik/editor.git
synced 2026-07-12 00:47:35 +00:00
2e0b7cdb8c
## Launch Checklist This PR replaces cypress with playwright. <img width="1907" height="933" alt="image" src="https://github.com/user-attachments/assets/b52075b3-eb3b-45dc-93dc-8c5e9cfd35dd" /> I hope this will make the end-to-end debugging and fixing easier due to the async await support of playwright which is missing in cypress. This is a pure refactoring change. - [x] Briefly describe the changes in this PR. - [x] Add an entry to `CHANGELOG.md` under the `## main` section. --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import { defineConfig, devices } from "@playwright/test";
|
|
|
|
const isCI = !!process.env.CI;
|
|
// When the app is already served elsewhere (e.g. the docker e2e job) set
|
|
// E2E_NO_WEBSERVER=1 so Playwright does not start its own dev server.
|
|
const useExternalServer = !!process.env.E2E_NO_WEBSERVER;
|
|
const baseURL = process.env.E2E_BASE_URL ?? "http://localhost:8888/";
|
|
|
|
export default defineConfig({
|
|
testDir: "./e2e",
|
|
testMatch: "**/*.spec.ts",
|
|
globalSetup: "./e2e/utils/e2e-setup.ts",
|
|
globalTeardown: "./e2e/utils/e2e-teardown.ts",
|
|
fullyParallel: true,
|
|
forbidOnly: isCI,
|
|
retries: isCI ? 2 : 0,
|
|
reporter: isCI ? [["list"], ["html", { open: "never" }]] : "list",
|
|
use: {
|
|
baseURL,
|
|
trace: "on-first-retry",
|
|
},
|
|
projects: [
|
|
{
|
|
name: "chromium",
|
|
use: {
|
|
...devices["Desktop Chrome"],
|
|
launchOptions: {
|
|
// Allow WebGL (maplibre) to fall back to software rendering in headless.
|
|
args: [
|
|
"--disable-gpu",
|
|
"--enable-features=AllowSwiftShaderFallback,AllowSoftwareGLFallbackDueToCrashes",
|
|
"--enable-unsafe-swiftshader",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
webServer: useExternalServer
|
|
? undefined
|
|
: {
|
|
command: "npm run start",
|
|
url: "http://localhost:8888/maputnik/",
|
|
reuseExistingServer: !isCI,
|
|
timeout: 120000,
|
|
},
|
|
});
|