Skip to content

Commit e0aa887

Browse files
authored
fix(ci): upgrade @vscode/test-electron to fix macOS test failures (#1664)
The macOS job is not red yet only because its last run predates the 1.131.0 release; the same failure is already reproducing in sibling repos (microsoft/vscode-java-test, microsoft/vscode-java-dependency, microsoft/vscode-spring-boot-dashboard) and this repo will hit it on its next macOS run. It downloads VS Code unpinned and is on an affected `@vscode/test-electron`, so it has the same exposure: Test error: Error: spawn .../Visual Studio Code.app/Contents/MacOS/Electron ENOENT Error: Test run failed with code -2 VS Code 1.110 renamed the macOS main binary inside the app bundle from `Electron` to the product name (`Code`), keeping a compatibility symlink under the old name. That symlink was removed in microsoft/vscode#326502, so every 1.110+ archive now fails to launch. The test runner does not pin a VS Code version, so it resolves the latest release (1.131.0) and hits this. Only macOS goes through that code path, which is why the other platforms pass. `@vscode/test-electron` ^2.4.1 hardcodes the old path, so the breakage surfaced as soon as the symlink went away. 3.1.0 resolves the executable via `CFBundleExecutable` from `Info.plist`, with a fallback to the sole regular file in `Contents/MacOS/` and finally the legacy `Electron` name, so both the new and pre-1.110 layouts work. `skipLibCheck` is enabled alongside the bump. 3.1.0 ships declarations that use the generic `Buffer<ArrayBufferLike>`, which this repo's TypeScript 4.9 and older `@types/node` cannot resolve, so the upgrade otherwise fails to compile with `TS2315: Type 'Buffer' is not generic`. Raising `@types/node` instead was tried and pulls in unrelated type breakage, and sibling repos (vscode-java-dependency, vscode-spring-boot-dashboard) already set `skipLibCheck`, so this keeps the repos consistent. 3.x declares `engines.node >= 22` while CI runs Node 20, but this is a non-blocking `npm warn EBADENGINE`: the install succeeds, the package loads, and it uses no Node 22 only APIs. A Node bump is therefore left out to keep this change minimal. Copilot-Session: 0b39911b-23b6-4180-ae96-2b6c06d2265b
1 parent 2a647c3 commit e0aa887

3 files changed

Lines changed: 208 additions & 294 deletions

File tree

0 commit comments

Comments
 (0)