Repository navigation
fix(lock): include task-specific tools - #11976
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthrough
ChangesTask-aware locking
Estimated code review effort: 4 (Complex) | ~45 minutes Mergeability Score: ⚪ Minimal · up to The change expands lockfile resolution for task-specific tools and preserves distinct tool entries; no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant User
participant mise_lock
participant TaskLoadContext
participant ToolResolver
participant Lockfile
User->>mise_lock: run mise lock
mise_lock->>TaskLoadContext: load task definitions
TaskLoadContext-->>mise_lock: return task and included-task tools
mise_lock->>ToolResolver: resolve configured and task-specific tools
ToolResolver-->>mise_lock: return unique resolved tools
mise_lock->>Lockfile: update the owning lockfile
Lockfile-->>User: report lockfile changes
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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 |
Greptile SummaryThe PR extends
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains in the available follow-up review record. No blocking failure remains. Important Files Changed
Reviews (3): Last reviewed commit: "fix(lock): include task-specific tools" | Re-trigger Greptile |
Summary
mise lockresolves configured tool requestsRoot cause
mise lockonly collected config-level tool requests from the resolved toolset and config files. Task-specific tools were first resolved when a task ran, which meant that the first execution could unexpectedly updatemise.lock. Its collection deduplication also used only the short tool name and version, which collapsed requests whose backend or options selected different artifacts.Verification
mise exec -- cargo fmt --all -- --checkmise exec -- cargo test --all-features cli::lock::tests(22 passed)mise run test:e2e e2e/lockfile/test_lockfile_task_tools e2e/lockfile/test_lockfile_monorepo e2e/lockfile/test_lockfile_prune_stale_toolsmise exec -- cargo check --all-featuresmise exec -- cargo clippy --workspace --all-features --all-targets -- -D warningsmise run docs:buildmise run lintwas also attempted, but the local Sapling-only checkout has no.gitdirectory and hk exits before running checks withfailed to find git repository; CI will run it in a Git checkout.Addresses #4782
AI-assisted — Tool: Codex; model: OpenAI/GPT-5; version: unavailable.
Summary by CodeRabbit
New Features
mise locknow includes tools declared by tasks, inherited templates, and included task files.Documentation