Per ADR-005 tests run against the real WASM engine, so CI must build it first. Add a wasm-web job: pinned emsdk (cached) -> pnpm build:wasm -> build -> lint -> test. Wire turbo so 'test' dependsOn build:wasm and ^build:wasm, and point build:wasm outputs at the @ymir/wasm runtime. Task: task_09. Verified turbo ordering locally (rm runtime -> turbo test rebuilds it); full pipeline runs on GitHub Actions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
1001 B
JSON
45 lines
1001 B
JSON
{
|
|
"$schema": "https://turbo.build/schema.json",
|
|
"ui": "tui",
|
|
"tasks": {
|
|
"build:wasm": {
|
|
"outputs": ["runtime/**"],
|
|
"inputs": [
|
|
"scripts/build-wasm.sh",
|
|
"$TURBO_ROOT$/core/**/*.cpp",
|
|
"$TURBO_ROOT$/core/**/*.h",
|
|
"$TURBO_ROOT$/core/**/*.hpp",
|
|
"$TURBO_ROOT$/core/CMakeLists.wasm.txt",
|
|
"$TURBO_ROOT$/core/cmake/**"
|
|
],
|
|
"cache": true
|
|
},
|
|
"build": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": ["dist/**", ".next/**", "!.next/cache/**"],
|
|
"cache": true
|
|
},
|
|
"dev": {
|
|
"cache": false,
|
|
"persistent": true
|
|
},
|
|
"test": {
|
|
"dependsOn": ["^build", "build:wasm", "^build:wasm"],
|
|
"outputs": ["coverage/**"],
|
|
"cache": true
|
|
},
|
|
"test:e2e": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": ["playwright-report/**", "test-results/**"],
|
|
"cache": false
|
|
},
|
|
"lint": {
|
|
"outputs": [],
|
|
"cache": true
|
|
},
|
|
"clean": {
|
|
"cache": false
|
|
}
|
|
}
|
|
}
|