You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: enable Rust build artifact caching in Python tests (#143)
## Summary
Optimize CI workflows to dramatically reduce build times through
improved caching and build configuration.
## Changes
### 1. Shared Rust Dependency Cache
- Added `shared-key: "lance-graph-deps"` to all workflows
- Cache is shared across Python, Rust, Build, and Style workflows
- Include both `crates/lance-graph` and `crates/lance-graph-python`
workspaces
- Prevents duplicate compilation across different workflows
### 2. Fix Double Rust Build in Python Tests
- Removed `uv pip install -e .[tests]` which was triggering Rust
compilation
- Now only `maturin develop` builds the extension once
- **Result: 24 min → 6 min (74% faster!)**
### 3. Remove Nightly from Rust Test Matrix
- Only test on stable toolchain (matches upstream lance project)
- Prevents nightly breakage from blocking PRs
- Stable is the primary deployment target
### 4. Explicit CARGO_INCREMENTAL=0
- Set explicitly for CI (rust-cache overrides to 0 anyway)
- Makes intention clear: incremental artifacts not useful in CI
## Performance Impact
**Before:**
- Python Tests: ~24 minutes
- Rust compiled twice (18min + 5min)
- No cache sharing across workflows
**After:**
- Python Tests: **6 minutes (74% faster)** ✅
- Rust compiled once (5min)
- Shared cache across all workflows
## Test Results
All CI checks passing:
- ✅ Python Tests (test 3.11) - 6 minutes
- ✅ Rust Tests (stable)
- ✅ Rust Coverage
- ✅ Build (stable)
- ✅ All Linters (clippy, format, Python lint, spell check)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments