Repository navigation
ci(quest): run only the quest package instead of the dev shell - #4679
Conversation
The push-only Quest workflow entered the full dev shell to run quest check. Whenever cache.yml had not yet pushed the shell for the current flake.lock, that compiled uniffi-bindgen-go from source (13.5 min of a 14.7 min step), hitting the 15-minute timeout or holding the concurrency slot until cancelled. Expose the quest CLI as packages.quest and run it with nix run, which realises only quest's closure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MERGEReviewed head: SummaryExposes the already-used BlockingNone. Non-blockingNone material. The shared Nice, minimal CI fix for a real timeout class. This is an automated review, not the maintainer's decision |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head: a7d31ee66d130e37bc6ab07388d3f7301933171d
No actionable findings. This is a focused fix: the shared quest-cli binding preserves the existing pinned derivation and avoids shadowing the flake input inside packages = rec { ... }. Running that package directly retains whole-tree validation without realising unrelated dev-shell tools. I checked both changed files, the pinned Quest package/check implementation, the cache workflow, and prior discussion; no additional abstraction is needed.
Verification: the exact-head Quest run succeeded on ARM64. Its Check step took about 13 seconds, fetched seven runtime paths (14 MiB), and reported 434 documents ok. This used the cached Quest package; I did not independently test a cold-cache build or the full repository suite.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review. WalkthroughThe flake now exports the Quest input’s default package as Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to CI continues to check the whole Quest tree while invoking the pinned CLI directly, avoiding the extra development-shell build. No actionable merge-blocking issue remains. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Summary: the Quest workflow now runs (Written by Claude Opus 5.5) |
Problem
The push-only Quest workflow (#4597) ran
nix develop --command quest check. Entering the dev shell realises its whole closure. When cache.yml had not yet pushed the shell for the currentflake.lock(it runs on the samemainpush, and never onquest/**branches), Nix compileduniffi-bindgen-gofrom source.Job 110481082870, for example: the Check step took 14m45s, of which 13m34s was the single
uniffi-bindgen-gobuild (16:55:28 to 17:09:02). Others hit the 15-minute timeout or held the concurrency slot until a newer push cancelled them. A warm run takes about 50s.Fix
flake.nix: expose the quest CLI aspackages.quest(the same derivation the dev shell already includes, via a sharedquest-clibinding).quest.yml:nix run .#quest -- check, which realises only quest's closure.Locally
nix run .#quest -- checkpasses (434 documents ok).API / wire impact
New flake output
packages.<system>.quest. No wire or library API change.🤖 Generated with Claude Code