The e2e-screen-record action installed ffmpeg through three different OS package managers (apt, brew, winget). winget is the flaky leg on windows-11-arm and serves an x64-gyan build that runs emulated on ARM; choco's community package wraps the same gyan x64 zip, so a choco fallback would not fix either problem. PM already ships a locked, sha256-pinned ffmpeg (martin-riedl posix, BtbN win32 including a NATIVE winarm64 build), so the recording action now verifies ffmpeg on PATH instead of installing it, and the pinned binary rides the same tools-cache as node/python. - setup-pm learns a `packages` input (extra PM tools beyond the toolchain roots, e.g. ffmpeg) threaded through setup_toolchain.py's prepare/install/archive-inputs phases; the tools-cache key gains an extra-packages fragment so existing keys stay byte-identical. - The six chat-driver jobs pass `packages: ffmpeg` to setup-pm. - e2e-screen-record drops the apt/brew/winget install steps, the ffmpeg actions/cache steps and the save-cache input; Xvfb (headless linux) and the macOS replayd-approval hack stay. - The "Install locked chat driver dependencies" step installs only the tests-js workspace with --omit=dev instead of the whole apps/desktop tree: the drivers need @playwright/test, zod (previously a phantom hoisted from @assistant-ui/react), js-yaml and semver only. 64 pure packages in ~2s vs ~1800 including electron-builder and native builds; the tree-shaken node_modules runs the real driver modules (verified by importing desktop-chat-smoke.ts and update-window-chat end to end). - tests pin the new contracts; tests/install/README.md updated.
24 lines
531 B
JSON
24 lines
531 B
JSON
{
|
|
"name": "@hermes/root-tests",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
"test": "vitest run",
|
|
"check": "npm run typecheck && npm run test && npm run lint",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"fix": "npm run lint:fix"
|
|
},
|
|
"devDependencies": {
|
|
"@types/plist": "3.0.5",
|
|
"plist": "3.1.1",
|
|
"typescript": "6.0.3",
|
|
"vitest": "4.1.10"
|
|
},
|
|
"dependencies": {
|
|
"@playwright/test": "1.62.1",
|
|
"zod": "4.4.3"
|
|
}
|
|
}
|