diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2aa82e..902e1b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,11 +14,11 @@ on: env: # See https://github.com/nodejs/release#release-schedule - # Node.js v20 EOL = 2026-04-30. v22 EOL = 2027-04-30. v23 EOL = 2025-06-01. v24 EOL = 2028-04-30. v25 EOL = 2026-06-01. + # Node.js v20 EOL = 2026-04-30. v22 EOL = 2027-04-30. v23 EOL = 2025-06-01. v24 EOL = 2028-04-30. v25 EOL = 2026-06-01. v26 EOL = TBD. # Node.js 20-24 can build with GCC 10 (bullseye) NODE_BUILD_CMD_LEGACY: npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 -t 23.0.0 -t 24.0.0 --include-regex '_sqlite3' # Node.js 25+ requires GCC 11+ for header (bookworm) - NODE_BUILD_CMD_MODERN: npx --no-install prebuild -r node -t 25.0.0 --include-regex '_sqlite3' + NODE_BUILD_CMD_MODERN: npx --no-install prebuild -r node -t 25.0.0 -t 26.0.0 --include-regex '_sqlite3' jobs: test: @@ -33,6 +33,17 @@ jobs: node: - 22 - 24 + - 26 + # Node 26 on Windows can't build: Node 26's bundled gyp config feeds + # Clang/LLD ThinLTO flags (-flto=thin, /opt:lldltojobs) into the MSVC link + # step, which link.exe rejects (LNK1117). Upstream Node 26 + MSVC toolchain + # bug -- our build sets no LTO flags, and Node <=25 on Windows is fine. + # Revisit when the upstream toolchain is fixed. (Node 26 prebuilds still + # ship for macOS/Linux via NODE_BUILD_CMD_MODERN; the release-time Windows + # prebuild will need the same exclusion before it builds Node 26.) + exclude: + - os: windows-2022 + node: 26 name: Testing Node ${{ matrix.node }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} steps: diff --git a/deps/defines.gypi b/deps/defines.gypi index 74bc09d..3e74349 100644 --- a/deps/defines.gypi +++ b/deps/defines.gypi @@ -25,6 +25,7 @@ 'SQLITE_ENABLE_GEOPOLY', 'SQLITE_ENABLE_JSON1', 'SQLITE_ENABLE_MATH_FUNCTIONS', + 'SQLITE_ENABLE_PERCENTILE', 'SQLITE_ENABLE_RTREE', 'SQLITE_ENABLE_STAT4', 'SQLITE_ENABLE_STMT_SCANSTATUS', diff --git a/deps/download.sh b/deps/download.sh index 33b5496..da46cc2 100755 --- a/deps/download.sh +++ b/deps/download.sh @@ -45,6 +45,7 @@ SQLITE_ENABLE_FTS5 SQLITE_ENABLE_GEOPOLY SQLITE_ENABLE_JSON1 SQLITE_ENABLE_MATH_FUNCTIONS +SQLITE_ENABLE_PERCENTILE SQLITE_ENABLE_RTREE SQLITE_ENABLE_STAT4 SQLITE_ENABLE_STMT_SCANSTATUS diff --git a/docs/compilation.md b/docs/compilation.md index 9b53092..6ff6c55 100644 --- a/docs/compilation.md +++ b/docs/compilation.md @@ -70,6 +70,7 @@ SQLITE_ENABLE_FTS5 SQLITE_ENABLE_GEOPOLY SQLITE_ENABLE_JSON1 SQLITE_ENABLE_MATH_FUNCTIONS +SQLITE_ENABLE_PERCENTILE SQLITE_ENABLE_RTREE SQLITE_ENABLE_STAT4 SQLITE_ENABLE_STMT_SCANSTATUS diff --git a/package.json b/package.json index 646d39d..65640a0 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "chai": "^4.3.8", "cli-color": "^2.0.3", "fs-extra": "^11.1.1", - "mocha": "^10.2.0", + "mocha": "^11.7.5", "nodemark": "^0.3.0", "prebuild": "^13.0.1", "sqlite": "^5.0.1",