Skip to content

Revert chat-lib tests pin from windows-2022 back to windows-latest #321267

@alexdima

Description

@alexdima

Background

In #321263 the chat-lib tests workflow (.github/workflows/chat-lib-package.yml) was pinned from windows-latest to windows-2022.

This was needed because the GitHub-hosted windows-latest label migrated to the Windows Server 2025 + Visual Studio 2026 image (actions/runner-images#14017). During npm ci in extensions/copilot, the native sqlite3@5.1.7 module (a transitive dependency of the @keyv/sqlite devDependency) builds via prebuild-install -r napi || node-gyp rebuild. With no matching prebuilt, it falls back to node-gyp, which cannot detect the VS 18 toolchain on the new image:

gyp ERR! find VS unknown version "undefined" found at "...\Microsoft Visual Studio\18\Enterprise"
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use

Pinning to windows-2022 (still VS 2022) restores green, but it is temporary tech debt — the windows-2022 runner image will eventually be deprecated.

Action

Once the underlying issue is resolved, revert the pin back to windows-latest. The pin can be lifted when either of these is true:

  • node-gyp with Visual Studio 2026 support (>= v12.1.0, see nodejs/node-gyp#3240) is what npm ci uses for extensions/copilot on the new image, or
  • The native sqlite3 dependency is removed — e.g. upgrading @keyv/sqlite to v6, which no longer bundles native sqlite3 (uses better-sqlite3/node:sqlite) — so no native build is needed at all.

References

Metadata

Metadata

Labels

engineeringVS Code - Build / issue tracking / etc.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions