Skip to content

Commit 892e469

Browse files
author
DavidQ
committed
Simplify Workspace V2 Playwright gate to use installed dependencies only - PR_11_320
1 parent 35c3772 commit 892e469

7 files changed

Lines changed: 85 additions & 6 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,10 @@ PR_11_319
215215
```bash
216216
npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_319: Add required Workspace V2 Playwright gate command with explicit pass/fail summary and non-zero failure handling."
217217
```
218+
219+
---
220+
PR_11_320
221+
222+
```bash
223+
npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_320: Update Workspace V2 Playwright gate to execute installed Playwright command path only, preserving fail-fast and summary output."
224+
```

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Promote Workspace V2 Playwright validation into required gate script with explicit non-zero failure handling - PR 11.319
1+
Update Workspace V2 Playwright gate to use installed command path while preserving fail-fast summary behavior - PR 11.320
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# PR_11_320 Report
2+
3+
## Purpose
4+
Update Workspace V2 Playwright gate execution for installed Playwright command usage without install/bootstrap behaviors.
5+
6+
## Files Changed
7+
- `package.json`
8+
- `scripts/run-workspace-v2-playwright-gate.mjs`
9+
- `docs/pr/PR_11_320_WORKSPACE_V2_GATE_UPDATE/PLAN_PR.md`
10+
- `docs/pr/PR_11_320_WORKSPACE_V2_GATE_UPDATE/BUILD_PR.md`
11+
- `docs/dev/reports/PR_11_320_report.md`
12+
- `docs/dev/codex_commands.md`
13+
- `docs/dev/commit_comment.txt`
14+
15+
## Implementation Summary
16+
- Added explicit installed Playwright command script:
17+
- `npm run test:workspace-v2:playwright`
18+
- Kept gate command:
19+
- `npm run test:workspace-v2`
20+
- Gate runner now executes installed command path through Node/npm CLI path and preserves:
21+
- fail-fast non-zero exit on any failure
22+
- clear summary output:
23+
- `Workspace V2 Playwright Gate Summary: passed=<n> failed=<n>`
24+
- Existing results/report behavior remains under `tests/results/**` from prior Playwright config.
25+
26+
## Validation Commands
27+
- `node -e "const fs=require('fs'); JSON.parse(fs.readFileSync('package.json','utf8')); console.log('package.json parse: PASS');"` -> **PASS**
28+
- `node --check scripts/run-workspace-v2-playwright-gate.mjs` -> **PASS**
29+
- `npm run test:workspace-v2` -> **PASS**
30+
31+
## Notes
32+
- No test logic changes.
33+
- No runtime/schema/tool behavior changes.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# BUILD_PR_11_320
2+
3+
## Implementation
4+
- Updated `package.json` scripts:
5+
- added `test:workspace-v2:playwright`:
6+
- `playwright test tests/ui/workspace-v2.asset-manager.spec.js`
7+
- kept `test:workspace-v2` gate entry:
8+
- `node ./scripts/run-workspace-v2-playwright-gate.mjs`
9+
- Updated `scripts/run-workspace-v2-playwright-gate.mjs`:
10+
- executes installed Playwright command path via Node:
11+
- preferred: `process.execPath + process.env.npm_execpath run --silent test:workspace-v2:playwright`
12+
- fallback: local Playwright CLI path under `node_modules`
13+
- preserves:
14+
- streamed output
15+
- clear gate summary
16+
- non-zero exit on any failure condition
17+
18+
## Validation
19+
- `node -e "const fs=require('fs'); JSON.parse(fs.readFileSync('package.json','utf8')); console.log('package.json parse: PASS');"`
20+
- `node --check scripts/run-workspace-v2-playwright-gate.mjs`
21+
- `npm run test:workspace-v2`
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# PLAN_PR_11_320
2+
3+
## Purpose
4+
Update the Workspace V2 Playwright gate script to run the installed Playwright command path only, without install/bootstrap behaviors.
5+
6+
## Scope
7+
- `package.json`
8+
- `scripts/run-workspace-v2-playwright-gate.mjs`
9+
- `docs/dev/reports/PR_11_320_report.md`
10+
- `docs/dev/codex_commands.md`
11+
- `docs/dev/commit_comment.txt`
12+
13+
## Steps
14+
1. Add an explicit script for the installed Playwright command path.
15+
2. Update gate runner to execute that command through Node/npm CLI path (no install/bootstrap).
16+
3. Preserve fail-fast non-zero exit and pass/fail summary output.
17+
4. Keep results/report behavior under `tests/results/**` via existing Playwright config.
18+
5. Run required parse/syntax/test validations.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"check:phase24-closeout-guard": "node tools/dev/checkPhase24CloseoutExecutionGuard.mjs",
1212
"check:style-system-guard": "node tools/dev/checkStyleSystemGuard.mjs",
1313
"check:games-template-contract": "node ./scripts/validate-games-template-contract.mjs",
14+
"test:workspace-v2:playwright": "playwright test tests/ui/workspace-v2.asset-manager.spec.js",
1415
"test:workspace-v2": "node ./scripts/run-workspace-v2-playwright-gate.mjs",
1516
"test:launch-smoke": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs",
1617
"test:launch-smoke:games": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --games",

scripts/run-workspace-v2-playwright-gate.mjs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@ import { fileURLToPath } from "node:url";
1111
const __filename = fileURLToPath(import.meta.url);
1212
const __dirname = path.dirname(__filename);
1313
const repoRoot = path.resolve(__dirname, "..");
14+
const npmExecPath = typeof process.env.npm_execpath === "string" ? process.env.npm_execpath.trim() : "";
1415
const command = process.execPath;
15-
const args = [
16-
path.join(repoRoot, "node_modules", "@playwright", "test", "cli.js"),
17-
"test",
18-
"tests/ui/workspace-v2.asset-manager.spec.js"
19-
];
16+
const args = npmExecPath
17+
? [npmExecPath, "run", "--silent", "test:workspace-v2:playwright"]
18+
: [path.join(repoRoot, "node_modules", "@playwright", "test", "cli.js"), "test", "tests/ui/workspace-v2.asset-manager.spec.js"];
2019

2120
const result = spawnSync(command, args, {
2221
cwd: repoRoot,

0 commit comments

Comments
 (0)