This is an automated email from the ASF dual-hosted git repository. yuxia pushed a commit to branch release-0.1 in repository https://gitbox.apache.org/repos/asf/fluss-rust.git
commit 3abbbd01766dc0426578ff75c3d968fba8e1e18d Author: luoyuxia <[email protected]> AuthorDate: Mon Mar 2 11:50:01 2026 +0800 ci: fix python wheel build issue --- .github/workflows/release_python.yml | 10 ++++++++++ bindings/python/Cargo.toml | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index e5a176f..c1487f4 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -104,6 +104,10 @@ jobs: command: build args: --release -o dist -i python3.9 manylinux: ${{ matrix.manylinux || 'auto' }} + # Build on host for Linux x86_64 so fluss's build.rs can find protoc (manylinux image has no protoc) + container: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64' && 'off' || '' }} + # Mount host protoc into aarch64 manylinux container (build runs as x86_64 in cross image) + docker-options: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'aarch64' && '-v /usr/bin/protoc:/usr/local/bin/protoc -e PROTOC=/usr/local/bin/protoc' || '' }} - uses: PyO3/maturin-action@v1 with: working-directory: bindings/python @@ -111,6 +115,8 @@ jobs: command: build args: --release -o dist -i python3.10 manylinux: ${{ matrix.manylinux || 'auto' }} + container: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64' && 'off' || '' }} + docker-options: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'aarch64' && '-v /usr/bin/protoc:/usr/local/bin/protoc -e PROTOC=/usr/local/bin/protoc' || '' }} - uses: PyO3/maturin-action@v1 with: working-directory: bindings/python @@ -118,6 +124,8 @@ jobs: command: build args: --release -o dist -i python3.11 manylinux: ${{ matrix.manylinux || 'auto' }} + container: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64' && 'off' || '' }} + docker-options: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'aarch64' && '-v /usr/bin/protoc:/usr/local/bin/protoc -e PROTOC=/usr/local/bin/protoc' || '' }} - uses: PyO3/maturin-action@v1 with: working-directory: bindings/python @@ -125,6 +133,8 @@ jobs: command: build args: --release -o dist -i python3.12 manylinux: ${{ matrix.manylinux || 'auto' }} + container: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64' && 'off' || '' }} + docker-options: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'aarch64' && '-v /usr/bin/protoc:/usr/local/bin/protoc -e PROTOC=/usr/local/bin/protoc' || '' }} - name: Upload wheels uses: actions/upload-artifact@v4 diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index 9cf20e3..30ac046 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -27,7 +27,7 @@ name = "fluss" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.26.0", features = ["extension-module"] } +pyo3 = { version = "0.26.0", features = ["extension-module", "generate-import-lib"] } fluss = { workspace = true, features = ["storage-all"] } tokio = { workspace = true } arrow = { workspace = true }
