fix(task): skip mise configs in task include dirs#10500
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughIn ChangesTask include TOML exclusion fix
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 SummaryThis PR fixes a regression from v2026.6.1 where
Confidence Score: 5/5Safe to merge — the filter is narrowly scoped to the task include walk, colocated task TOMLs (tasks.toml) are unaffected, and the e2e test covers both the fixed case and the negative regression. The change is well-contained: it only touches the file-classification step inside the directory task include walk. The filename-based check in is_mise_config_file_in_task_include correctly handles both root-level and nested mise config files. Colocated task TOMLs (tasks.toml) are not in TOML_CONFIG_FILENAMES and pass through untouched. The e2e test adds positive assertions for all expected tasks and negative assertions that verify mise.toml entries are not misinterpreted as tasks. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "fix(task): skip nested config task inclu..." | Re-trigger Greptile |
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.6.11 x -- echo |
27.9 ± 3.2 | 20.2 | 36.6 | 1.00 |
mise x -- echo |
28.5 ± 3.0 | 22.2 | 40.8 | 1.02 ± 0.16 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.6.11 env |
25.7 ± 2.2 | 20.4 | 32.8 | 1.00 |
mise env |
27.1 ± 2.8 | 22.0 | 39.4 | 1.05 ± 0.14 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.6.11 hook-env |
26.6 ± 2.5 | 21.2 | 35.9 | 1.00 |
mise hook-env |
28.2 ± 2.7 | 22.0 | 37.0 | 1.06 ± 0.14 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.6.11 ls |
22.8 ± 2.6 | 16.9 | 39.0 | 1.00 |
mise ls |
23.7 ± 2.4 | 17.9 | 31.7 | 1.04 ± 0.16 |
xtasks/test/perf
| Command | mise-2026.6.11 | mise | Variance |
|---|---|---|---|
| install (cached) | 174ms | 177ms | -1% |
| ls (cached) | 81ms | 86ms | -5% |
| bin-paths (cached) | 93ms | 90ms | +3% |
| task-ls (cached) | 172ms | 171ms | +0% |
Summary
tasks.toml, loadable from those directoriestask_config.includes = ["."]Context
Directory task includes started loading
.tomlfiles in v2026.6.1, which means an include likeincludes = ["."]could accidentally parse the child project's ownmise.tomlas a task TOML file. That breaks colocated monorepo file-task layouts like the one reported in discussion #10499.Validation
mise run formatcargo fmt --all -- --checkcargo check --all-featuresgit diff --checkmise run test:e2e e2e/tasks/test_task_monorepo_includesRefs #10499
This PR was generated by an AI coding assistant.
Note
Medium Risk
Changes core task discovery for directory includes; wrong glob matching could hide legitimate task TOMLs or still mis-parse configs, though scope is limited to the include walk filter.
Overview
Fixes directory task includes (
task_config.includespointing at a folder or".") so they no longer treat mise platform/config TOMLs (e.g.mise.toml,.mise/config.toml) as standalone task definition files—a regression from loading all.tomlfiles in include dirs.When walking an include directory, TOML paths are now skipped if they match the same glob patterns used for normal config discovery (
TOML_CONFIG_MATCHERS+is_mise_config_file_in_task_include). Colocated task TOMLs liketasks.toml, executable file tasks, and inline[tasks.*]in the projectmise.tomlstill load as before.Adds an e2e monorepo case for
includes = ["."]asserting no bogus tasks such astask_configor nested-config tasks from parsed config files.Reviewed by Cursor Bugbot for commit 67f5035. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit
Bug Fixes
Tests
task_config.includes = ["."]) with nested TOMLs and an executable task, asserting the exact set of discovered tasks and verifying expected output for each runnable task.