Repository navigation
Fix Visual Studio 2026 native installs with node-gyp 12 - #1142
Bill Schnurr (bschnurr) wants to merge 3 commits into
Conversation
Skip dependency lifecycle scripts when installing tooling for prebuilt VSIX signing, then initialize only the vsce signing binary. This avoids rebuilding windows-process-tree with an unsupported Visual Studio toolchain. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35aea860-84b7-4f12-88da-cff7120df961
|
Follow-up investigation found this PR targets an unused local signing template. The pre-release pipeline imports azure-pipelines/extension/templates/jobs/publish-extension.yml from DevDiv/Pylance-Eng, which invokes ../steps/sign.yml in that shared repository. This change therefore does not fix build 15947122. Auto-merge has been disabled; do not merge this PR as the build fix. The native-install correction belongs in the active shared Pylance-Eng signing template. |
…ugger into fix/signing-native-install
Add project-local node-gyp 12.4.0 so windows-process-tree lifecycle scripts can detect Visual Studio 18 on the signing agents. Regenerate the lockfile without upgrading existing dependencies and remove the unused local signing-template workaround. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35aea860-84b7-4f12-88da-cff7120df961
|
The earlier warning about this PR targeting an unused template is now superseded. The branch has been updated to current main, the template workaround has been removed, and the final diff changes only package.json and package-lock.json to add project-local node-gyp 12.4.0. An explicit windows-process-tree rebuild successfully detected Visual Studio 2026 and compiled the native module; a process-tree smoke test, lint, and TypeScript checking passed. Azure CI still needs to validate Node 22 and signing. |
|
🔒 Automated review in progress — Rich Chiodo (@rchiodo) is auto-reviewing this PR. |
|
Reviewed commit: Result: Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: Offline dependency installation succeeded in the Linux container, and all 39 setup/registry/lockfile tests passed. Test compilation, lint, JSON formatting, lockfile normalization, and project-local node-gyp lifecycle resolution checks also passed; the dependency graph accepts Node 22.21.1 according to its engine constraints. No tests were added by the PR, and no PR-caused failures were observed. Visual Studio 2026 native compilation, Windows process-tree smoke testing, and end-to-end signing remain unverified; baseline-version comparison was unavailable because the container lacks Git metadata. **Reviewer dependency follow-up (nonblocking):** Suggest a separate PR adding `eslint: ^8.50.0`, `node-gyp: ^12.4.0`, `prettier: ^3.0.3`, `typescript: ^5.5.4` to the official reviewer dependency declarations, using `package.json` as the dependency/version evidence. Do not automatically create that PR. This is reviewer environment maintenance, not a required change to the reviewed PR. Test runs: 5 passed, 1 failed, 2 not run
|
Rich Chiodo (rchiodo)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
Summary
npm ci, and@vscode/windows-process-treefails to rebuild because npm's bundled node-gyp 11.2.0 cannot detect Visual Studio 18.node-gyp: ^12.4.0as a development dependency, so lifecycle scripts use a project-local version supporting Visual Studio 2026 and the pipeline's Node 22.21.1.Validation
npm run ci:msftandnpm run normalize-lockfile.npm rebuild @vscode/windows-process-tree --foreground-scripts: node-gyp 12.4.0 detected Visual Studio 2026 and successfully compiled the native module.npm run lintandnpm run compile-testspassed.Local validation used Node 26.13.0 and Visual Studio 2026. Azure CI under Node 22.21.1 and end-to-end signing remain to be verified.