Skip to content

Commit e0b0a26

Browse files
ci: run tests on Node 26, not 24 (node:sqlite teardown segfault)
The test job segfaulted on Node 24 (exit 139) during jest's --forceExit teardown, after all tests passed — the crash is in node:sqlite's native teardown, which the RAG/knowledge-base suites exercise via the real in-memory DB harness. Reproduced locally with a downloaded Node 24.18.0 vs system Node 26, running the full suite (--coverage --forceExit --runInBand): - Node 24: exit 139 (segfault), with AND without an attempt to close every sqlite handle in teardown — so it is not our open handles, it is Node 24's node:sqlite teardown path. - Node 26: exit 0, 532 suites / 7817 tests pass, coverage gate green. Node 26's node:sqlite fixes the teardown crash, so pin the test runtime to 26.
1 parent c0c1570 commit e0b0a26

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,13 @@ jobs:
136136
- name: Setup Node.js
137137
uses: actions/setup-node@v4
138138
with:
139-
# Node 24: the RAG/knowledge-base suites run a REAL in-memory database via
140-
# node's built-in `node:sqlite` (__tests__/harness/sqliteFake.ts). That module
141-
# is unavailable on Node 20 and flag-gated on Node 22; it is available without a
142-
# flag from Node 23.4+, so the test runtime is pinned to 24.
143-
node-version: '24'
139+
# Node 26. The RAG/knowledge-base suites run a REAL in-memory database via node's
140+
# built-in `node:sqlite` (__tests__/harness/sqliteFake.ts). That module is absent on
141+
# Node 20 and flag-gated on Node 22. On Node 24 it loads but its native teardown
142+
# SEGFAULTs the process under jest's --forceExit (exit 139) — reproduced locally: the
143+
# full suite exits 139 on Node 24 and exits 0 on Node 26. Node 26's node:sqlite fixes
144+
# that teardown crash, so the test runtime is pinned to 26.
145+
node-version: '26'
144146
cache: 'npm'
145147

146148
- name: Setup Java

0 commit comments

Comments
 (0)