diff --git a/.github/workflows/build-lancedb.yml b/.github/workflows/build-lancedb.yml index 813f46d0344..8e4a89e364c 100644 --- a/.github/workflows/build-lancedb.yml +++ b/.github/workflows/build-lancedb.yml @@ -74,7 +74,11 @@ jobs: sparse-checkout: patches/lancedb persist-credentials: false + # lance >= 13.0.0 (lancedb >= v0.40.0) ships the riscv64 SIMD fallback + # itself (lancedb/lance#9446), so those versions carry no patches and + # skip the redirect to a patched lance checkout below. - name: Apply lancedb patches + if: hashFiles(format('python-wheels/patches/lancedb/{0}/*.patch', env.LANCEDB_VERSION)) != '' run: git apply -v python-wheels/patches/lancedb/${{ env.LANCEDB_VERSION }}/0001*.patch # lancedb pins lance-core/lance-linalg to a different exact version per @@ -82,14 +86,16 @@ jobs: # 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}/*.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/ # i32x8/f64x4/f64x8 SIMD types compile only for x86_64/aarch64/ - # loongarch64 upstream; the 0002 patch adds a portable riscv64 fallback - # to this checkout, and Cargo.toml's `[patch.crates-io]` (0001) redirects - # both crates here. + # loongarch64 before lance 13.0.0; the 0002 patch adds a portable riscv64 + # fallback 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}/*.patch', env.LANCEDB_VERSION)) != '' uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: lancedb/lance @@ -98,6 +104,7 @@ jobs: persist-credentials: false - name: Apply lance patches + if: hashFiles(format('python-wheels/patches/lancedb/{0}/*.patch', env.LANCEDB_VERSION)) != '' run: cd lance && git apply -v ../python-wheels/patches/lancedb/${{ env.LANCEDB_VERSION }}/0002*.patch - name: Free disk space diff --git a/docs/packages/lancedb.yaml b/docs/packages/lancedb.yaml index aada5fc930c..79aef63062f 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