release: publish subpackages as 26.5.3 and test the freshly built addon#71
Closed
ShawnChen-Sirius wants to merge 2 commits into
Closed
release: publish subpackages as 26.5.3 and test the freshly built addon#71ShawnChen-Sirius wants to merge 2 commits into
ShawnChen-Sirius wants to merge 2 commits into
Conversation
The v3.2.0 publish run failed in the subpackages job: the loader prefers the installed @chdb/lib-<platform> subpackage over build/Release, so test:all exercised the published 26.5.2 addon — which predates the Arrow C Data Interface exports (ArrowRegisterColumns/…) that the Layer 3 arrow-input path requires. Remove the installed subpackages before test:all, exactly as the test workflow already does. That failure also exposed a release blocker the tests were right to catch: the subpackage version was still 26.5.2, which is already on the registry, so the publish step would have skipped and chdb@3.2.0 would have resolved the stale addon on user machines. Bump the subpackage line to 26.5.3 (a packaging revision — the bundled libchdb stays v26.5.1-rc.1) and pin optionalDependencies to match. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ge suite The verify job installs the just-published package from the registry on every platform, but its suite only proved the native addon loads and queries — it never touched the Arrow registration natives. A stale @chdb/lib-* subpackage (versioned independently of this package) passes every existing case and still lacks ArrowRegisterColumns, which is exactly the gap the failed v3.2.0 publish run fell into. Register a small columnar table through the default export and read it back via arrowstream() so verify exercises the addon's export surface end to end. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
Superseded by #73 — same root cause and an equivalent three-file fix, independently confirmed. Closing this one in its favor; the extra installed-suite Arrow round-trip test from this branch can be resubmitted separately if we want the verify job to cover the addon's export surface. |
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.
The v3.2.0 publish run (29225306812) failed in the subpackages job, and the failure exposed a release blocker the tests were right to catch.
Why it failed: the loader prefers the installed
@chdb/lib-<platform>subpackage overbuild/Release, and the publish workflow (unlike the test workflow) did not remove the installed subpackages beforetest:all— so the suite exercised the published 26.5.2 addon, which predates the Arrow C Data Interface exports (ArrowRegisterColumns/…) the Layer 3 arrow-input path requires.The real blocker: the subpackage version was still 26.5.2, which is already on the registry. The publish step would have skipped,
optionalDependencieswould keep resolving the stale addon, andchdb@3.2.0would have shipped broken Arrow input to user machines even with green tests.Changes:
update_libchdb.sh:LIBCHDB_NPM_VERSION26.5.2 → 26.5.3 (packaging revision; the bundled libchdb stays v26.5.1-rc.1)package.json: pin the fouroptionalDependenciesto 26.5.3prebuild-publish.yml: remove the installed@chdb/lib-*beforetest:all, matching the test workflowtest/pack/installed.test.mjs: add an Arrow C Data Interface round-trip so the verify job exercises the addon's export surface — a stale subpackage passes every existing case and still lacks the Arrow nativesVerified locally with the cleanroom recipe (pack main + 26.5.3 subpackage tgz → clean-dir install → installed suite 6/6 green on darwin-arm64).
After merge: re-tag
v3.2.0on the merge commit to re-trigger the publish pipeline (the failed run published nothing, so the tag can be reused).🤖 Generated with Claude Code
Note
Publish subpackages as version 26.5.3 and test the freshly built addon
@chdb/lib-*optionalDependencies in package.json andLIBCHDB_NPM_VERSIONin update_libchdb.sh from 26.5.2 to 26.5.3, which adds Arrow C Data Interface exports.@chdb/lib-*subpackages before runningtest:all, ensuring tests run against the freshly built addon rather than the published prebuilt.Macroscope summarized ac4c15d.