ci: survive cold mesh-llm cache — clone locked rev when cargo fetch leaves no checkout - #3433
Open
flaukowski wants to merge 1 commit into
Open
ci: survive cold mesh-llm cache — clone locked rev when cargo fetch leaves no checkout#3433flaukowski wants to merge 1 commit into
flaukowski wants to merge 1 commit into
Conversation
…eaves no checkout cargo fetch populates ~/.cargo/git/db but only materializes checkouts lazily at build time, so runners with no warm rust-cache (fresh fork, evicted cache) failed 'Build mesh llama native libraries' with 'checkout not found after cargo fetch'. Fall back to cloning the Cargo.lock-pinned rev (URL also derived from the lockfile) into RUNNER_TEMP. Applies to ci.yml, release.yml, signed-macos-canary.yml. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
cargo fetchpopulates~/.cargo/git/dbbut materializesgit/checkoutslazily at build time. The "Build mesh llama native libraries" step probesgit/checkoutsright aftercargo fetch, so on any runner without a warm rust-cache — a fresh fork, an evicted cache, a new runner image — the probe comes up empty and the job hard-fails withmesh-llm checkout for <rev> not found after cargo fetch. This repo's CI rarely sees it because its caches stay warm, but forks hit it deterministically (we did, on ours, on every macOS Desktop Build until this patch).Fix: when no checkout exists, clone the Cargo.lock-pinned rev directly into
RUNNER_TEMP— the URL is parsed from the same lockfile entry as the rev, so a mesh-llm dependency bump still needs no lockstep workflow edit. The warm-cache fast path is unchanged. Applied to the three workflows sharing the block:ci.yml,release.yml,signed-macos-canary.yml.Proven on our fork: the previously-failing cold macOS job went green exercising the fallback end-to-end (flaukowski#3).
Test plan
findprobe is empty).Cargo.lock(git+https://github.com/Mesh-LLM/mesh-llm.git?tag=v0.73.1#43103c5c…→https://github.com/Mesh-LLM/mesh-llm.git).🤖 Generated with Claude Code