ruvnet / ruvnet/ruflo

[verification] HIGH: CI main broken — hnswlib-node and better-sqlite3 fail native build on windows-latest VS 2026 runner

Open Beginner friendly
#2,992 2 comments 0 reactions 0 assignees View on GitHub
severity:high verification
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.