diff --git a/.github/workflows/prebuild-publish.yml b/.github/workflows/prebuild-publish.yml index 91cba61..60e81a9 100644 --- a/.github/workflows/prebuild-publish.yml +++ b/.github/workflows/prebuild-publish.yml @@ -48,6 +48,16 @@ jobs: - run: npm install --ignore-scripts - run: npm run libchdb - run: npm run build + - name: Drop the installed @chdb/lib-* so tests exercise the just-built addon + # The loader prefers an installed @chdb/lib- subpackage over the + # local build (src/loader.ts). npm install pulls the PREVIOUSLY published + # subpackage via optionalDependencies, which lags behind the native source + # being released here — so test:all would validate the wrong binary (red on + # every new native export, e.g. v3.2.0 / #72). Mirror chdb-node-test.yml: + # remove it so loadNative() falls through to build/Release/chdb_node.node, + # the exact binary this job is about to package and publish. + shell: bash + run: rm -rf node_modules/@chdb/lib-* - run: npm run test:all - name: Derive subpackage version from update_libchdb.sh run: | diff --git a/package.json b/package.json index 9ecfdca..56b2ed7 100644 --- a/package.json +++ b/package.json @@ -93,10 +93,10 @@ "node-gyp-build": "^4.6.0" }, "optionalDependencies": { - "@chdb/lib-darwin-arm64": "26.5.2", - "@chdb/lib-darwin-x64": "26.5.2", - "@chdb/lib-linux-arm64-gnu": "26.5.2", - "@chdb/lib-linux-x64-gnu": "26.5.2" + "@chdb/lib-darwin-arm64": "26.5.3", + "@chdb/lib-darwin-x64": "26.5.3", + "@chdb/lib-linux-arm64-gnu": "26.5.3", + "@chdb/lib-linux-x64-gnu": "26.5.3" }, "peerDependencies": { "@clickhouse/client": ">=1.23.0", diff --git a/update_libchdb.sh b/update_libchdb.sh index c7d6f0e..9cdd83b 100755 --- a/update_libchdb.sh +++ b/update_libchdb.sh @@ -16,15 +16,18 @@ set -e LATEST_RELEASE=v26.5.1-rc.1 # Version published for the @chdb/lib- native subpackages on npm. -# DECOUPLED from LATEST_RELEASE on purpose: chdb-core has no 26.5.2 release, but -# the previously published subpackage versions (26.5.0, 26.5.1-rc.1) shipped a -# non-relocatable Linux binary (chdb-io/chdb-node#50). npm forbids republishing -# over an existing version, so the relocatability fix needs a NEW version — a -# formal packaging revision — while the bundled libchdb stays LATEST_RELEASE -# above (the only build carrying the #73/#15 C-ABI the binding requires). The -# publish + cleanroom workflows read CHDB_LIB_VERSION from here, and the main -# package's optionalDependencies pin this exact value. -LIBCHDB_NPM_VERSION=26.5.2 +# DECOUPLED from LATEST_RELEASE on purpose: chdb-core has no 26.5.2/26.5.3 +# release. 26.5.2 was a packaging revision for the non-relocatable Linux binary +# (chdb-io/chdb-node#50); 26.5.3 is another one: the native addon source gained +# the Layer 3 Arrow C Data Interface exports (ArrowRegisterColumns, 98d81b6) and +# .stream() server-side parameter binding (f6457ee) AFTER 26.5.2 was published, +# and npm forbids republishing over an existing version — without a bump the +# release pipeline "skips already-published" and the new native code never ships +# (chdb-io/chdb-node#72). The bundled libchdb stays LATEST_RELEASE above (the +# only build carrying the #73/#15 C-ABI the binding requires). The publish + +# cleanroom workflows read CHDB_LIB_VERSION from here, and the main package's +# optionalDependencies pin this exact value. +LIBCHDB_NPM_VERSION=26.5.3 # Download the correct version based on the platform case "$(uname -s)" in