From 3b74c7f133fc623c205eb497952dc639fb75d54b Mon Sep 17 00:00:00 2001 From: Beinan Date: Sun, 26 Jul 2026 08:17:57 +0000 Subject: [PATCH] fix(ci): run Rust integration tests, not just unit tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cargo test -p lance-context-core -p lance-context-master --lib + cargo test --workspace --all-targets `--lib` runs unit tests only. The preceding `--no-run` step compiled the crates/lance-context-core/tests/*.rs integration tests and then discarded them, so they never executed. The CI log from #199 shows it plainly — 167 (core lib) + 14 (master lib) + 1 (the one etcd test named explicitly), and no line for the 5 WAL-merge concurrency tests that PR added. They merged into main having never run in CI, as had wal_merge_generation_cleanup.rs before them. `--workspace` additionally covers lance-context-api, -server, -client, -metrics and the facade crate, none of which were tested at all. Local run of the new command: 250 tests pass, against 182 under `--lib`. Runtime ~7 minutes against the existing 30-minute timeout. Same class of failure as #195 (Python CI collecting the wrong directory), in a different mechanism: tests that exist, compile, and are silently not run. Co-Authored-By: Claude --- .github/workflows/rust-test.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rust-test.yml b/.github/workflows/rust-test.yml index 7a8b699..a42984f 100644 --- a/.github/workflows/rust-test.yml +++ b/.github/workflows/rust-test.yml @@ -43,9 +43,14 @@ jobs: sudo apt update sudo apt install -y clang libclang-dev protobuf-compiler - name: Build tests - run: cargo test -p lance-context-core -p lance-context-master --no-run - - name: Run unit tests - run: cargo test -p lance-context-core -p lance-context-master --lib + run: cargo test --workspace --all-targets --no-run + - name: Run unit and integration tests + # `--all-targets` matters: the previous `--lib` compiled the + # crates/lance-context-core/tests/*.rs integration tests and then threw + # them away without running them, so every WAL-merge and concurrency + # regression test was dead weight in CI. `--workspace` covers the crates + # that were silently untested (api, server, client, metrics, the facade). + run: cargo test --workspace --all-targets - name: Start etcd for HA scheduler test run: | ETCD_VERSION=3.7.0