fix: ensure CI installs correct Python version wheel packages

- Use --find-links with --no-index to let uv select correct wheel
- Prevents installing wrong Python version wheel (e.g., cp310 for Python 3.11)
- Fixes ImportError: _diskannpy.cpython-310-x86_64-linux-gnu.so in Python 3.11

The issue was that *.whl glob matched all Python versions, causing
uv to potentially install a cp310 wheel in a Python 3.11 environment.
This commit is contained in:
Andy Lee
2025-08-07 11:31:25 -07:00
parent 65b54ff905
commit df69a49123

View File

@@ -211,13 +211,13 @@ jobs:
source .venv/bin/activate || source .venv/Scripts/activate
# Install the built wheels directly to ensure we use locally built packages
# Force local wheel installation to avoid PyPI version conflicts
# Use find-links to let uv select the correct wheel for current Python version
if [[ "${{ matrix.os }}" == ubuntu-* ]]; then
uv pip install packages/leann-core/dist/*.whl --force-reinstall
uv pip install packages/leann/dist/*.whl --force-reinstall
uv pip install leann-core --find-links packages/leann-core/dist --force-reinstall --no-index
uv pip install leann --find-links packages/leann/dist --force-reinstall --no-index
fi
uv pip install packages/leann-backend-hnsw/dist/*.whl --force-reinstall
uv pip install packages/leann-backend-diskann/dist/*.whl --force-reinstall
uv pip install leann-backend-hnsw --find-links packages/leann-backend-hnsw/dist --force-reinstall --no-index
uv pip install leann-backend-diskann --find-links packages/leann-backend-diskann/dist --force-reinstall --no-index
# Install test dependencies using extras
uv pip install -e ".[test]"