From 1ffe8fb15a67e767f659ccdfcaa7d67db1764ece Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Tue, 11 Aug 2026 15:13:23 -0400 Subject: [PATCH 1/3] Fixes #254 - Bump @vscode/test-electron to 3.1.0 and Node to 22 VS Code v1.110+ renamed the macOS binary from Contents/MacOS/Electron to Contents/MacOS/Code. @vscode/test-electron 3.1.0 resolves the path via CFBundleExecutable from Info.plist, fixing the ENOENT on macOS CI. @vscode/test-electron 3.0.0+ requires Node >= 22. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/actions.yml | 2 +- vscode/package-lock.json | 10 +++++----- vscode/package.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index f51b207..ab55369 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-latest] java: ["11"] - node: [20] + node: [22] fail-fast: false steps: diff --git a/vscode/package-lock.json b/vscode/package-lock.json index f9acbf3..91878cd 100644 --- a/vscode/package-lock.json +++ b/vscode/package-lock.json @@ -34,7 +34,7 @@ "@typescript-eslint/eslint-plugin": "^4.29.2", "@typescript-eslint/parser": "^4.29.2", "@vscode/test-cli": "^0.0.11", - "@vscode/test-electron": "^2.5.2", + "@vscode/test-electron": "^3.1.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "decache": "^4.5.1", @@ -2025,9 +2025,9 @@ } }, "node_modules/@vscode/test-electron": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.5.2.tgz", - "integrity": "sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-3.1.0.tgz", + "integrity": "sha512-CRqv5u+YYoseuNVJ6Tyo4k0sF0mx4qnKMihRB0PjsUF8Dc0WKtCXo6CNL6nWWm5esfFQsQA/pejMj4ZbpJVLTw==", "dev": true, "license": "MIT", "dependencies": { @@ -2038,7 +2038,7 @@ "semver": "^7.6.2" }, "engines": { - "node": ">=16" + "node": ">=22" } }, "node_modules/@vscode/vsce": { diff --git a/vscode/package.json b/vscode/package.json index 9007222..27cb1be 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -74,7 +74,7 @@ "@typescript-eslint/eslint-plugin": "^4.29.2", "@typescript-eslint/parser": "^4.29.2", "@vscode/test-cli": "^0.0.11", - "@vscode/test-electron": "^2.5.2", + "@vscode/test-electron": "^3.1.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "decache": "^4.5.1", From 63f24ca14a42fbc0c7a1bc4d98c27a6c3f7835a0 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Tue, 11 Aug 2026 15:20:42 -0400 Subject: [PATCH 2/3] Update rsp-server target platform to 0.26.21 Picks up latest rsp-server fixes missing from the community extension. Co-Authored-By: Claude Opus 4.6 --- rsp/targetplatform/rsp-community-target.target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rsp/targetplatform/rsp-community-target.target b/rsp/targetplatform/rsp-community-target.target index 432caae..d1d74da 100644 --- a/rsp/targetplatform/rsp-community-target.target +++ b/rsp/targetplatform/rsp-community-target.target @@ -81,7 +81,7 @@ - + From 2acc1b704614635fa821cfda02a6cf2ecc231be4 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Tue, 11 Aug 2026 15:22:09 -0400 Subject: [PATCH 3/3] Use short user-data-dir on macOS to avoid Unix socket path limit macOS limits Unix domain socket paths to 104 bytes. The CI workspace path is long enough that VS Code's IPC socket exceeds this and fails with EINVAL. Use /tmp/vsctest as the user-data-dir on Darwin. Co-Authored-By: Claude Opus 4.6 --- vscode/test/test-runner.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/vscode/test/test-runner.ts b/vscode/test/test-runner.ts index 6515cd8..c1212c0 100644 --- a/vscode/test/test-runner.ts +++ b/vscode/test/test-runner.ts @@ -1,3 +1,4 @@ +import * as os from 'os'; import * as path from 'path'; import { runTests } from '@vscode/test-electron'; @@ -12,9 +13,16 @@ async function main() { // Passed to --extensionTestsPath const extensionTestsPath = path.resolve(__dirname, './'); + const launchArgs: string[] = []; + // macOS limits Unix domain socket paths to 104 bytes; CI workspace paths + // can exceed this, causing VS Code's IPC socket to fail with EINVAL. + if (os.platform() === 'darwin') { + launchArgs.push('--user-data-dir=/tmp/vsctest'); + } + // Download VS Code, unzip it and run the integration test console.log(extensionDevelopmentPath, extensionTestsPath); - await runTests({ extensionDevelopmentPath, extensionTestsPath }); + await runTests({ extensionDevelopmentPath, extensionTestsPath, launchArgs }); } catch (err) { console.error(err); process.exit(1);