mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-13 14:16:54 +00:00
Update the Rust workspace, Java dependency, and Python test dependency to [Lance v15.0.0-beta.17](https://github.com/lance-format/lance/releases/tag/v15.0.0-beta.17). This includes the FRI cache and vector-index changes required by current Sophon and retains the RaBitQ prewarm fixes. Lockfiles use the published source and test wheels without unrelated registry version bumps. The dependency dry run also exposed CI resource limits. Use the existing larger x64 runner for GNU Node and compatibility-wheel builds; allow 60 minutes for Mac Python tests, 120 minutes for the compatibility wheel, and 150 minutes for the Mac release wheel. Disable the CLI toolchain action's automatic target cache so only the subsequent downloads-only cache runs. Release optimization, the compatibility wheel's manylinux container and x86-64-v2 baseline, and test coverage stay unchanged. Validation: - Three native SDK regressions pass: refined RQ queries after deferred compaction, deferred index remapping, and ANN approximation planning. - Pinned Rust 1.97.0: `cargo clippy --quiet --locked --features remote --tests --examples -- -D warnings` passes. - Locked offline Rust metadata, Python lock validation, Ruff lint/format, and diff checks pass. The Python lock contains six published beta.17 wheels. - Repository YAML, whitespace and typo checks pass for the workflow changes. Product-source checks are reused for the subsequent CI-only commits. - At head `07033dc6`, all 65 applicable pre-review CI checks pass, including the compatibility wheel, Mac CLI, GNU Node, Mac Python tests, release wheels, and Java checks. Six checks are skipped by tag/main-only conditions or draft-only app behavior; the automated review and security checks run after the Ready transition. The upstream Java publisher succeeded and its beta.17 Maven artifact is available. Six upstream Python wheel builds/uploads succeeded; its Windows ARM job was cancelled. These checks do not establish Sophon performance or aggregate-memory acceptance.
53 lines
1.9 KiB
YAML
53 lines
1.9 KiB
YAML
name: CLI
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
paths:
|
|
- 'rust/lancedb/**'
|
|
- 'Cargo.toml'
|
|
- 'Cargo.lock'
|
|
- '.github/workflows/cli.yml'
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-24.04, macos-15]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
|
with:
|
|
components: clippy
|
|
# Use only the downloads-only cache configured below.
|
|
cache: false
|
|
- uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2
|
|
with:
|
|
# Restoring compiled targets can exhaust the hosted runner disk.
|
|
prefix-key: v1-cli-downloads
|
|
cache-targets: false
|
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
|
- name: Install Linux prerequisites
|
|
if: runner.os == 'Linux'
|
|
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler libssl-dev clang
|
|
- name: Install macOS prerequisites
|
|
if: runner.os == 'macOS'
|
|
run: brew install protobuf
|
|
- name: Build standalone CLI binary
|
|
run: cargo build --locked --profile ci -p lancedb-cli --bin lancedb
|
|
- name: Test standalone CLI
|
|
run: cargo test --locked --profile ci -p lancedb-cli
|
|
- name: Test SDK SQL
|
|
run: cargo test --locked --profile ci -p lancedb --features remote --lib remote::sql
|
|
- name: Lint CLI
|
|
run: cargo clippy --locked --profile ci -p lancedb-cli --all-targets --all-features -- -D warnings
|
|
- name: Check SDK without remote support
|
|
# Feature-disabled SDK code has existing unused-code warnings; this is a compile check.
|
|
env:
|
|
RUSTFLAGS: ""
|
|
run: cargo check --locked --profile ci -p lancedb --no-default-features --tests
|