Skip to content

@W-22850150 ci: drop Node 26 from the Windows test matrix#505

Merged
clavery merged 1 commit into
mainfrom
work/W-22850150-windows-node26
Jun 17, 2026
Merged

@W-22850150 ci: drop Node 26 from the Windows test matrix#505
clavery merged 1 commit into
mainfrom
work/W-22850150-windows-node26

Conversation

@clavery

@clavery clavery commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #499. Removes 26.x from the Windows CI matrix only — Node 26 stays on the Linux matrix (where it's fully green) and in the dev/CLI toolchain.

Why

After #499 merged, the test-windows (26.x) job failed with:

Assertion failed: !_wcsnicmp(filename, dir, dirlen), file src\win\fs-event.c, line 72

This is a libuv/chokidar bug, not a regression from the mocha 11 / tsx / yargs work:

  • It's the same assertion that already pinned Windows Node 24 to 24.15.0 (see the existing matrix comment).
  • It lives in libuv 1.52.1, which ships in every Node 26.x release (26.0.0–26.3.0), so — unlike Node 24, where 24.15.0 is safe — there is no 26.x version to pin to.
  • It fires from chokidar's recursive watch tests (src/operations/code/watch.ts), is Windows-only, and aborts the process before tests finish (exit 255, 0% coverage).
  • Linux Node 26 passes in @W-22850150 Support Node 26 in CI and modernize the test harness (mocha 11 / c8 / yargs) #499, proving the actual toolchain changes work on Node 26.

The test-windows job is continue-on-error: true (advisory), so this never blocked merges — but leaving a permanent red X is misleading. Dropping 26.x from the Windows matrix (with a comment explaining why) keeps CI signal honest. Add it back once upstream libuv ships a fix.

Change

  • .github/workflows/ci.yml: Windows matrix [22.x, 24.15.0, 26.x][22.x, 24.15.0], with an updated comment. Linux matrix unchanged ([22.x, 24.x, 26.x]).

Node 26 on Windows aborts with `Assertion failed: !_wcsnicmp(filename,
dir, dirlen)` in src/win/fs-event.c during chokidar's recursive watch
tests. This is the same libuv bug that pinned Windows Node 24 to
24.15.0 — but it lives in libuv 1.52.1, which ships in *every* Node 26.x
release, so there is no 26.x version to pin to.

The failure is environmental (Node/libuv/chokidar on Windows), unrelated
to the mocha 11 / tsx / yargs work in #499; the Linux matrix runs Node
26 green. Drop 26.x from the Windows matrix and document why; add it
back once upstream libuv ships a fix.
@clavery
clavery merged commit 593e061 into main Jun 17, 2026
6 checks passed
@clavery
clavery deleted the work/W-22850150-windows-node26 branch June 17, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant