mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-13 22:26:53 +00:00
Update Rust Lance dependencies to [v15.0.0-beta.9](https://github.com/lance-format/lance/releases/tag/v15.0.0-beta.9), including the scoped stable-row-ID conversion fix. Python tests use published beta.9 wheels on Linux/Windows while macOS retains beta.4. Java stays on beta.8, matching the original base, so this update does not depend on beta.9 Maven publication or macOS Java packaging. The dependency updater preserves workspace inheritance, the WAL test wrapper uses the new StoredBatch module, and Linux/remote Rust CI uses its installed mold linker. The Python lockfile also records the already-declared OCI extra. CLI CI now caches Cargo downloads under a separate key instead of restoring compiled targets: the previous runner exhausted its disk during cache restoration, before compilation. Its test matrix and commands are unchanged. This branch includes #4820's row-freshness changes: successful rows become current while skipped rows retain their values and remain eligible for retry. Repair identities, replay handling and Restore fencing protect publication completion. BREAKING CHANGE: `StalenessPlan::row_dirty` is a new public field. Rust callers using exhaustive struct literals must initialize it. Validation: - All reported non-Java checks passed on `f5fa66fcbcf31a8eb188935f728735560c77c873`, including Rust lint/Linux/remote, Python, NodeJS and CLI checks. Current head `c660bc0ac9fd5920ad4b64be9c19f732ef4c56a5` preserves those product sources, manifests, lockfiles and compiler/test commands; only the Java pin restoration and CLI cache configuration differ. Current-head CI is tracked separately. - The complete Java directory is identical to the original PR base. The scope correction reuses [Xuanwo's prepared and validated commit](https://github.com/lancedb/lancedb/pull/4814#issuecomment-6626088466); no new Java build was run. - CLI workflow YAML parses successfully, its inputs match the pinned rust-cache action schema, and the existing jobs, matrix and commands are unchanged. Hosted execution must confirm the cache-restoration repair. - Existing validation includes the updater regressions and 32 CI-script tests, dependency-policy checks, count/WAL coverage, and #4820's 42 freshness tests, strict core Clippy and Rust doctest. Root Ruff previously reported unchanged documentation-example issues; Python-package Ruff passed. This PR adopts the existing released Lance beta.9. A subsequent official SDK release and normal Sophon dependency adoption remain separate delivery steps. --------- Co-authored-by: Xuanwo <github@xuanwo.io>
51 lines
1.8 KiB
YAML
51 lines
1.8 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
|
|
- 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
|