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]