[verification] HIGH: CI main broken — hnswlib-node and better-sqlite3 fail native build on windows-latest VS 2026 runner
- Dominant language
- TypeScript
- Stars
- 72.7k
- Forks
- 8.6k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 83
Description
## Summary
The `Build V3 (windows-latest)` job in `v3-ci.yml` is failing on the current `main` commit (`7c738174`). The `windows-latest` runner image was updated to `windows-2025-vs2026/20260803.193` which ships **Visual Studio 2026 Enterprise** (version 18). node-gyp's VS detector returns `"unknown version 'undefined'"` for VS 2026 and cannot satisfy the VS 2017+ requirement, causing both `hnswlib-node@3.0.0` and `better-sqlite3@12.9.0` to fail native compilation.
## Impact
- Windows CI is broken. All downstream jobs that depend on `Build V3 (windows-latest)` are skipped.
- Windows developers running `pnpm install --frozen-lockfile` in the v3 workspace hit the same failure.
- The release pipeline (npm publish job, skipped due to failure gate) cannot complete.
## Expected
`pnpm install --frozen-lockfile` succeeds on windows-latest; both native packages compile.
## Actual
```
.../node_modules/hnswlib-node install: gyp ERR! find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\18\Enterprise"
.../node_modules/hnswlib-node install: gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
.../node_modules/hnswlib-node install: Failed
.../node_modules/better-sqlite3 install: gyp ERR! find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\18\Enterprise"
.../node_modules/better-sqlite3 install: gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
.../node_modules/better-sqlite3 install: Failed
ELIFECYCLE Command failed with exit code 1.
```
Runner image details:
```
Image: windows-2025-vs2026
Version: 20260803.193.1
OS: Microsoft Windows Server 2025 (10.0.26100)
```
## Command output
Failing run: https://github.com/ruvnet/ruflo/actions/runs/31629246872
Failing job: https://github.com/ruvnet/ruflo/actions/runs/31629246872/job/94225283955
## Recommended fix
Options (in order of preference):
1. Pin the workflow to `windows-2022` runner until node-gyp supports VS 2026 version detection
2. Upgrade to a version of node-gyp that recognizes VS 2026 (track: https://github.com/nodejs/node-gyp/issues)
3. Add `--ignore-scripts` for Windows CI and provide pre-built binaries via prebuild-install
## Commit
`7c738174c1121c9ced02a56a0091b3f2c14332d8`
## Timestamp UTC
2026-08-12T19:04:08Z
Contributor guide
Research direction
Open v3-ci.yml and inspect the Build V3 (windows-latest) job; reproduce it with pnpm install --frozen-lockfile and review the linked failing run for the node-gyp errors. Done means the Windows job completes successfully and both hnswlib-node and better-sqlite3 compile, allowing downstream release jobs to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, node.js
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100