From f55f0c16b887856e63f5b24863ae9effcf357b3f Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:03:01 +0000 Subject: [PATCH 1/5] lancedb: Add version 0.40.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/lancedb.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/lancedb.yaml b/docs/packages/lancedb.yaml index aada5fc930c6..79aef63062fd 100644 --- a/docs/packages/lancedb.yaml +++ b/docs/packages/lancedb.yaml @@ -23,3 +23,4 @@ versions: - filename: lancedb-0.39.0-cp310-abi3-manylinux_2_39_riscv64.whl sha256: 758156284cb0b1d87d14fddc9066c7c7fba2c16f847a90d5d70dd7ee694a0283 requires-python: '>=3.10' +- version: 0.40.0 From 1dd4d9e3af7a4a880af777659c4417138d040770 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 05:01:47 +0800 Subject: [PATCH 2/5] lancedb: Build version 0.40.0 without the lance riscv64 patches lancedb 0.40.0 pins lance-core/lance-linalg 13.0.0, which already ships a non-SIMD fallback for architectures other than x86_64/aarch64/ loongarch64 (lance-linalg's build.rs sets cfg(simd_fallback) and lance-core's SIMD_SUPPORT has a trailing arm), so the 0.39.0 patches are obsolete and do not apply (the f32/f64/i32 hunks collide with the upstream fallback). Skip the patch and lance checkout steps when a version has no patch directory. --- .github/workflows/build-lancedb.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-lancedb.yml b/.github/workflows/build-lancedb.yml index 813f46d0344a..960ff52a5025 100644 --- a/.github/workflows/build-lancedb.yml +++ b/.github/workflows/build-lancedb.yml @@ -53,7 +53,6 @@ jobs: name: Build lancedb ${{ matrix.version }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 - env: LANCEDB_VERSION: ${{ matrix.version }} @@ -74,14 +73,19 @@ jobs: sparse-checkout: patches/lancedb persist-credentials: false + # v0.40.0 pins lance 13.0.0, which ships its own non-SIMD fallback for + # riscv64, so it needs neither the lance checkout nor these patches. - name: Apply lancedb patches - run: git apply -v python-wheels/patches/lancedb/${{ env.LANCEDB_VERSION }}/0001*.patch + run: | + patches="$PWD/python-wheels/patches/lancedb/${LANCEDB_VERSION}" + if [ -d "$patches" ]; then git apply -v "$patches"/0001*.patch; fi # lancedb pins lance-core/lance-linalg to a different exact version per # release (10.0.0 for v0.37.1, 11.0.0 for v0.38.0, 12.0.0 for v0.39.0), # so the sibling checkout below must track whatever this lancedb tag's # own Cargo.toml pins rather than a fixed tag. - name: Determine the lance-core/lance-linalg version lancedb pins + if: hashFiles(format('python-wheels/patches/lancedb/{0}/0002*.patch', env.LANCEDB_VERSION)) != '' run: echo "LANCE_VERSION=$(grep -m1 '^lance-core = ' Cargo.toml | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')" >> "$GITHUB_ENV" # lance-core's SIMD_SUPPORT static and lance-linalg's f32x8/f32x16/ @@ -90,6 +94,7 @@ jobs: # to this checkout, and Cargo.toml's `[patch.crates-io]` (0001) redirects # both crates here. - name: Checkout lance v${{ env.LANCE_VERSION }} and add a riscv64 SIMD fallback + if: hashFiles(format('python-wheels/patches/lancedb/{0}/0002*.patch', env.LANCEDB_VERSION)) != '' uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: lancedb/lance @@ -98,6 +103,7 @@ jobs: persist-credentials: false - name: Apply lance patches + if: hashFiles(format('python-wheels/patches/lancedb/{0}/0002*.patch', env.LANCEDB_VERSION)) != '' run: cd lance && git apply -v ../python-wheels/patches/lancedb/${{ env.LANCEDB_VERSION }}/0002*.patch - name: Free disk space From 0bc7d4034838811de2add6cc227594b339138cb7 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 05:02:36 +0800 Subject: [PATCH 3/5] lancedb: Restore blank line before steps From 9541d558712d38587c1221bab7cf7f042862f49b Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 05:03:15 +0800 Subject: [PATCH 4/5] lancedb: Restore blank line before env --- .github/workflows/build-lancedb.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-lancedb.yml b/.github/workflows/build-lancedb.yml index 960ff52a5025..4fd003cb7615 100644 --- a/.github/workflows/build-lancedb.yml +++ b/.github/workflows/build-lancedb.yml @@ -53,6 +53,7 @@ jobs: name: Build lancedb ${{ matrix.version }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 + env: LANCEDB_VERSION: ${{ matrix.version }} From 6f0bddf5fec48d098ccac39a123822a8c0860535 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sun, 25 Oct 2026 18:59:59 +0100 Subject: [PATCH 5/5] lancedb: deselect test reading a Rust-crate fixture --- .github/workflows/build-lancedb.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build-lancedb.yml b/.github/workflows/build-lancedb.yml index 4fd003cb7615..5ab9b098e901 100644 --- a/.github/workflows/build-lancedb.yml +++ b/.github/workflows/build-lancedb.yml @@ -226,6 +226,13 @@ jobs: # golden-contract and docs consistency, not installed-wheel runtime # behavior, so ignore both files rather than widen # CIBW_TEST_SOURCES to mirror docs/ and rust/'s layout. + # + # test_function_packaging.py::test_binding_passes_initialization_as_constants + # (0.40.0) is the same trap for a single test: it reads + # rust/lancedb/tests/fixtures/first_class_functions/v1/ + # remote_function_version.canonical.json, which is not copied into + # the isolated test dir, so it fails with FileNotFoundError on any + # platform. The file's other tests pass, hence a deselect. CIBW_TEST_COMMAND: >- cd python && python -m pytest python/tests -vv --durations=30 @@ -251,6 +258,7 @@ jobs: --deselect=python/tests/test_permutation.py::test_transform_fn --deselect=python/tests/test_query.py::test_query_to_polars_async --deselect=python/tests/test_query.py::test_blob_v2_with_row_id_bytes_pandas + --deselect=python/tests/test_function_packaging.py::test_binding_passes_initialization_as_constants - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: