Skip to content

duckdb-cli: Add version 1.5.6 - #4352

Draft
luhenry wants to merge 8 commits into
mainfrom
duckdb-cli
Draft

luhenry wants to merge 8 commits into
mainfrom
duckdb-cli

Conversation

@luhenry

@luhenry luhenry commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Builds the DuckDB CLI shell binary from upstream's own make release (core_functions/parquet/json/icu statically linked, the same set the published duckdb package already builds for riscv64). Upstream publishes no riscv64 wheel.

Mirrors upstream's Main.yml linux-release job and its tools/shell/tests suite.

Differs from upstream

  • Packaging - duckdb-cli's own wheel-build tool is closed-source, so the riscv64 binary is repackaged into its real duckdb_cli/ wrapper, downloaded unmodified from the matching PyPI release.
  • Build flags - plain make release (GCC), not the canonical release's clang+lld ThinLTO build.

Testing

  • same as upstream (tools/shell/tests)

License: OK

Not built locally (no docker daemon available in this environment); first CI run pending.

duckdb-cli ships hand-tagged py3-none-<platform> wheels bundling a prebuilt DuckDB
CLI binary per platform, built from the same DuckDB C++ source as the already-published
duckdb package. Builds the shell from upstream's own `make release` (default
core_functions/parquet/json/icu, no vcpkg) and repackages the resulting riscv64 binary
into the real duckdb_cli/ wrapper downloaded unmodified from the matching PyPI release.
Tests mirror upstream's own tools/shell/tests suite.
luhenry added a commit that referenced this pull request Nov 2, 2026
duckdb-cli: genuine riscv64 gap, distinct from the parked duckdb-extension-*
family (signed extension blobs) - it's the base CLI shell binary, built
from duckdb/duckdb's own source with the same default extension set the
published duckdb package already builds for riscv64.

duckdb: advisory-only entry. Already fully published (PR #395, predates the
.queue.yml convention) - not a gap, nothing to action.
Mirror upstream's LinuxRelease.yml `linux-release-cli` job: build with
.github/config/bundled_extensions.cmake and extension autoloading/autoinstall
(the default extension_config.cmake only links core_functions and parquet, so
json and icu were missing), and run tools/shell/tests against the binary
shipped in the wheel from a `duckdb` checkout directory, as upstream does.
The `duckdb` console script injects `-cmd "SET extension_directories = ..."`,
which -safe mode rejects, so it is only smoke-tested.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant