ci: prebuild-publish must test the just-built addon; bump @chdb/lib-* to 26.5.3#73
Merged
ShawnChen-Sirius merged 1 commit intoJul 13, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #72 — the
prebuild-publishrun for v3.2.0 (https://github.com/chdb-io/chdb-node/actions/runs/29225306812) went red on all 4subpackageslegs, and the release never shipped.Root cause
Two coupled defects, both from the same fact:
@chdb/lib-*@26.5.2already exists on npm (published 2026-06-24, v3.1.0-era native source — beforeArrowRegisterColumns(98d81b6) and.stream()server-side param binding (f6457ee) existed):npm install --ignore-scriptspulls the published@chdb/lib-*@26.5.2via optionalDependencies, andsrc/loader.tsprefers the installed subpackage over the freshly builtbuild/Release/chdb_node.node. Sonpm run test:allexercised the stale 26.5.2 binary → 8×TypeError: chdbNode.ArrowRegisterColumns is not a function+ 5×Code: 456 Substitution 'p0' is not set (UNKNOWN_QUERY_PARAMETER)per job, identical on all 4 platforms.chdb-node-test.ymlis green on the same sha only because it already drops the installed subpackage before testing;prebuild-publish.ymlwas missing that step.LIBCHDB_NPM_VERSIONwas still26.5.2— so the freshly built binaries would never publish andchdb@3.2.0would resolve to the old 26.5.2 binaries, breaking the Layer 3 Arrow API at runtime for every user.Fix
prebuild-publish.yml(subpackages job): dropnode_modules/@chdb/lib-*beforenpm run test:all, mirroringchdb-node-test.yml, so the release pipeline tests the exact binary it is about to package and publish.update_libchdb.sh:LIBCHDB_NPM_VERSION26.5.2 → 26.5.3 (packaging revision — npm forbids republishing 26.5.2), with the history documented in the comment.package.json: bump the four@chdb/lib-*optionalDependencies pins to 26.5.3.Reproduction + validation (linux-x64, commit 0513de2, exact CI sequence)
With this branch applied:
npm install --ignore-scriptsexits 0 with 26.5.3 not yet on the registry (optional dep skipped, loader falls through to the local build — same state CI will be in until the subpackages job publishes), and the full suite passes:npm run test:all→ 39 files, 452 passed | 11 skipped.Notes for re-release
After merge, re-running the release (re-tag v3.2.0 or cut v3.2.1) is a maintainer call. The
verifyjob then installs the publishedchdb+@chdb/lib-*@26.5.3from the registry on all 12 legs, which independently gatespromote→latest.Note
Fix prebuild-publish CI to test the locally built addon and bump @chdb/lib-* to 26.5.3
@chdb/lib-*packages fromnode_modulesbefore runningtest:all, ensuring the test exercises the freshly builtchdb_node.nodebinary rather than a previously published subpackage.LIBCHDB_NPM_VERSIONin update_libchdb.sh andoptionalDependenciesin package.json from26.5.2to26.5.3.Macroscope summarized 91433b8.