Skip to content
Merged
8 changes: 7 additions & 1 deletion .github/workflows/rust-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ jobs:
run: cargo test --manifest-path crates/lance-graph/Cargo.toml --no-run
- name: Run unit tests
run: cargo test --manifest-path crates/lance-graph/Cargo.toml --lib
- name: Run integration tests
# `--test '*'` selects only integration-test targets; `--tests` would
# re-run the lib unit tests the step above already ran.
run: cargo test --manifest-path crates/lance-graph/Cargo.toml --test '*'
- name: Run doc tests
run: cargo test --manifest-path crates/lance-graph/Cargo.toml --doc
# lance-graph-contract is the zero-dep trait crate every workspace
Expand Down Expand Up @@ -526,8 +530,10 @@ jobs:
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Run tests with coverage
env:
CARGO_BUILD_JOBS: "2"
run: |
cargo llvm-cov --manifest-path crates/lance-graph/Cargo.toml --lcov --output-path lcov.info
cargo llvm-cov --manifest-path crates/lance-graph/Cargo.toml --lib --lcov --output-path lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
Expand Down
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

## Project Structure & Module Organization
- `crates/lance-graph/` hosts the Rust Cypher engine; keep new modules under `src/` and co-locate helpers inside `query/` or feature-specific submodules.
- `crates/lance-graph-catalog/` provides catalog and namespace utilities, including Unity Catalog and Delta Lake integration; feature-gated via `unity-catalog`.
- `crates/lance-graph-benches/` contains performance benchmarks in a dedicated unpublished crate; add new benchmarks here rather than in the main crate.
- `crates/lance-graph-python/src/` contains the PyO3 bridge; `python/python/lance_graph/` holds the pure-Python facade and packaging metadata.
- `python/python/tests/` stores functional tests; mirror new features with targeted cases here and in the corresponding Rust module.
- `examples/` demonstrates Cypher usage; update or add examples when introducing new public APIs.

## Build, Test, and Development Commands
- `cargo check` / `cargo test --all` (run inside `crates/lance-graph`) validate Rust code paths.
- `cargo bench --bench graph_execution` measures performance-critical changes; include shortened runs with `--warm-up-time 1`.
- `cargo bench --bench graph_execution -p lance-graph-benches` measures performance-critical changes; include shortened runs with `--warm-up-time 1`.
- `uv venv --python 3.11 .venv` and `uv pip install -e '.[tests]'` bootstrap the Python workspace.
- `maturin develop` rebuilds the extension after Rust edits; `pytest python/python/tests/ -v` exercises Python bindings.
- `make lint` (in `python/`) runs `ruff`, formatting checks, and `pyright`.
Expand Down
Loading
Loading