feat(wasm-dom): Phase 7 plumbing — KiCad DOM-flavor build + test pipeline

WX_PORT=dom flows host → docker container → build scripts:
build-kicad-target.sh selects wxwidgets-dom + kicad-<app>-dom trees;
docker/build.sh passes the env through, copies outputs to output-dom/
incl. wx-dom.js, and post-processes there; build-wxuniversal-wasm.sh
honors WX_PORT and accepts --no-clean again (the kicad pipeline calls it
with that flag — Phase 1's stricter parser had broken the canvas docker
path). setup-kicad-wasm.sh syncs DOM bundles into tests/apps-dom/kicad
and injects the wx-dom.js script tag into the kicad pages;
playwright-kicad.config.ts serves apps-dom under WX_PORT=dom.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-06-11 00:19:53 +02:00
commit 74c392f88f
5 changed files with 84 additions and 24 deletions

View file

@ -74,6 +74,10 @@ const PCBNEW_FAMILY_SPECS = [
'**/load-pcb-probe.spec.ts',
];
// WX_PORT=dom runs against the DOM-port bundles (setup-kicad-wasm.sh syncs
// them into tests/apps-dom/kicad).
const appsDir = process.env.WX_PORT === 'dom' ? 'apps-dom' : 'apps';
export default defineConfig({
globalSetup: './global-setup.ts',
testDir: './kicad',
@ -158,7 +162,7 @@ export default defineConfig({
],
webServer: {
command: `npx serve apps -p ${port} -c ../serve.json`,
command: `npx serve ${appsDir} -p ${port} -c ../serve.json`,
port: port,
reuseExistingServer: !process.env.CI,
},