toutane opened a new issue, #2948:
URL: https://github.com/apache/iceberg-rust/issues/2948

   ### Apache Iceberg Rust version
   
   None
   
   ### Describe the bug
   
   The `Install built wheel` step in `bindings_python_ci.yml` runs `uv pip 
install --no-build --reinstall --find-links dist/ pyiceberg-core`, but 
`--find-links` only adds a source without disabling PyPI, and the argument is a 
package name rather than a path: so the resolver picks the highest version 
across both sources.
   
   Since `pyiceberg-core` 0.10.1 was published on Aug 1 it outranks the 0.10.0 
that `main` builds, so every run installs the published wheel and never tests 
the one it just built. That wheel embeds `datafusion-ffi` 53.1.0 while the test 
environment pins the `datafusion` Python package at 54.0.0, and the ABI 
mismatch kills `test_register_iceberg_table_provider` with a `Bus error`, on 
every PR regardless of its contents.
   
   
   ### To Reproduce
   
   ```
   cd bindings/python
   uv sync --group dev --no-install-project
   uv run maturin build --out dist          # builds 0.10.0
   uv pip install --no-build --reinstall --find-links dist/ pyiceberg-core
                                            # installs 0.10.1 from PyPI instead
   uv run --no-sync pytest                  # Fatal Python error: Bus error
   ```
   
   Adding `--no-index` to the install makes it pick the local 0.10.0 and the 
suite passes. Confirmed on macOS arm64; the Linux and Windows matrix legs get 
cancelled by `fail-fast`, so I have not checked whether they fail too. The 
embedded DataFusion versions were read with `strings` on the published wheels.
   
   
   ### Expected behavior
   
   The job tests the wheel built from the branch under test, so the CI result 
reflects the PR's code.
   
   ### Willingness to contribute
   
   I can contribute a fix for this bug independently


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to