Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: fts match query on column without inverted index #15531

fix: fts match query on column without inverted index

fix: fts match query on column without inverted index #15531

Workflow file for this run

name: Python
on:
push:
branches:
- main
pull_request:
paths:
- Cargo.*
- python/**
- rust/**
- protos/**
- .github/workflows/python.yml
- .github/workflows/build_linux_wheel/**
- .github/workflows/build_mac_wheel/**
- .github/workflows/run_tests/**
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
# This env var is used by Swatinem/rust-cache@v2 for the cache
# key, so we set it to make sure it is always consistent.
CARGO_TERM_COLOR: always
# Disable full debug symbol generation to speed up CI build and keep memory down
# "1" means line tables only, which is useful for panic tracebacks.
RUSTFLAGS: "-C debuginfo=line-tables-only"
RUST_BACKTRACE: "1"
CI: "true"
# Color output for pytest is off by default.
PYTEST_ADDOPTS: "--color=yes"
FORCE_COLOR: "1"
# Change this to bust all caches (may be needed periodically if the caches accumulate
# a lot of cruft).
CACHE_PREFIX: "2"
jobs:
lint:
timeout-minutes: 45
runs-on: "ubuntu-24.04"
defaults:
run:
shell: bash
working-directory: python
env:
# Need up-to-date compilers for kernels
CC: clang-18
CXX: clang++-18
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11 # Ray does not support 3.12 yet.
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- name: Install linting tools
run: |
pip install ruff==0.11.2 maturin tensorflow tqdm ray[data] pyright datasets polars[pyarrow,pandas]
pip install torch --index-url https://download.pytorch.org/whl/cpu
- name: Lint Python
run: |
ruff format --check --diff python
ruff check python
pyright
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler libssl-dev
- name: Lint Rust
run: |
ALL_FEATURES=`cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | .features | keys | .[]' | grep -v protoc | sort | uniq | paste -s -d "," -`
cargo fmt --all -- --check
cargo clippy --locked --features ${ALL_FEATURES} --tests -- -D warnings
- name: Build
run: |
python -m venv venv
source venv/bin/activate
pip install torch tqdm --index-url https://download.pytorch.org/whl/cpu
pip install maturin
maturin develop --locked --extras tests,ray
- name: Run doctest
run: |
source venv/bin/activate
pytest --doctest-modules python/lance
linux:
timeout-minutes: 45
strategy:
matrix:
python-minor-version: ["9", "13"]
name: "Python Linux 3.${{ matrix.python-minor-version }} x86_64"
runs-on: "ubuntu-24.04"
defaults:
run:
shell: bash
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.${{ matrix.python-minor-version }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- uses: ./.github/workflows/build_linux_wheel
- uses: ./.github/workflows/run_tests
- name: Upload wheels as artifacts
if: ${{ matrix.python-minor-version == '13' }}
uses: actions/upload-artifact@v4
with:
name: linux-wheels
path: python/target/wheels/pylance-*.whl
forward-compat:
needs: linux
runs-on: ubuntu-24.04
name: Forward Compatibility Tests (${{ matrix.lance-version }})
strategy:
matrix:
lance-version: ["0.16.0", "0.30.0", "0.36.0"]
defaults:
run:
shell: bash
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13
- name: Download wheels
uses: actions/download-artifact@v4
with:
name: linux-wheels
path: python/wheels
- name: Install dependencies
run: |
pip install $(ls wheels/pylance-*.whl)[tests,ray]
- name: Generate forward compatibility files
env:
PYTHONPATH: python/tests
run: python -m forward_compat.datagen
- name: Run forward compatibility tests (pylance ${{ matrix.lance-version }})
run: |
python -m venv venv
source venv/bin/activate
pip install pytest pylance==${{ matrix.lance-version }}
pytest python/tests/forward_compat --run-forward
linux-arm:
timeout-minutes: 45
runs-on: ubuntu-2404-4x-arm64
name: Python Linux 3.13 ARM
defaults:
run:
shell: bash
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- uses: ./.github/workflows/build_linux_wheel
with:
arm-build: "true"
manylinux: "2_28"
- name: Install dependencies
run: |
sudo apt update -y -qq
sudo apt install -y libhdf5-dev
- uses: ./.github/workflows/run_tests
mac:
timeout-minutes: 45
name: Python macOS 3.13 ARM
runs-on: "macos-14"
defaults:
run:
shell: bash
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- uses: ./.github/workflows/build_mac_wheel
- uses: ./.github/workflows/run_tests
with:
skip-torch: "true"
windows:
runs-on: windows-latest
timeout-minutes: 90
defaults:
run:
shell: powershell
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- uses: ./.github/workflows/build_windows_wheel
- uses: ./.github/workflows/run_tests
aws-integtest:
timeout-minutes: 45
runs-on: "ubuntu-latest"
defaults:
run:
shell: bash
working-directory: python
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11" # TODO: upgrade when ray supports 3.12
- uses: Swatinem/rust-cache@v2
with:
workspaces: python
prefix-key: ${{ env.CACHE_PREFIX }}
cache-targets: false
cache-workspace-crates: true
- uses: ./.github/workflows/build_linux_wheel
- name: Install dependencies
run: |
pip install ray[data]
pip install torch --index-url https://download.pytorch.org/whl/cpu
- uses: ./.github/workflows/run_integtests