From ec5e2cd621b605a5e362d81f7a13a449018b14e4 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Fri, 13 Nov 2026 00:21:31 +0800 Subject: [PATCH] ci: use two Cargo jobs for unlocked builds (#4996) Fresh unlocked workspace builds can exhaust the 30-minute CI job while Cargo is restricted to one compiler/linker task. Allow two concurrent tasks while retaining fresh dependency resolution, all workspace features and targets, the existing profile and timeout, and immediate cleanup of completed test executables. The single-cache prerequisite #4997 is included by a normal merge; merge it first under normal review gates. The final combined candidate passed hosted build-no-lock on head `8a3cda494f79a414101db392986cd18a64e5d80d` (tested merge `8d56029`, run [43236975778](https://github.com/lancedb/lancedb/actions/runs/43236975778/job/131247077833)). The build step took 18m42s and the full job 19m58s, within the unchanged 30-minute budget. Exactly one 1,624,797,998-byte cache restore completed; free disk samples before and after the build were 85 GiB and 79 GiB. These are endpoint samples, not peak RAM/disk measurements or a controlled speedup comparison. This job compiles and links targets but does not execute their tests. Temporary diagnostics are removed. The three existing driver tests pass, and the combined workflow and driver match their independently reviewed parents. --- ci/build_no_lock.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/build_no_lock.py b/ci/build_no_lock.py index 6ec156432..17d9ad333 100644 --- a/ci/build_no_lock.py +++ b/ci/build_no_lock.py @@ -54,6 +54,7 @@ def main() -> int: ["cargo", "metadata", "--format-version=1", "--no-deps", "--all-features"], stdout=subprocess.PIPE, text=True, + check=False, ) if metadata.returncode: return metadata.returncode @@ -68,7 +69,7 @@ def main() -> int: "--tests", # Bound simultaneous compiler/linker temporary outputs as well as retained files. "--jobs", - "1", + "2", "--message-format=json,json-diagnostic-rendered-ansi", ] cleanup_failed = False