Skip to content

Commit 696c521

Browse files
committed
fix(task): preserve inherited extend task includes
1 parent 8bf228d commit 696c521

2 files changed

Lines changed: 20 additions & 3 deletions

File tree

e2e/tasks/test_task_includes_mode_extend

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,19 @@ assert_output_not_contains "$tasks" "root-dir-task"
9696
assert_output_contains "$tasks" "local-file-task"
9797
assert_output_contains "$tasks" "local-dir-task"
9898

99+
cat <<'TOML' >mise.local.toml
100+
[task_config]
101+
includes = ["tasks.local.toml", "local-tasks"]
102+
includes_mode = "extend"
103+
TOML
104+
105+
tasks="$(mise tasks ls)"
106+
assert_output_contains "$tasks" "default-task"
107+
assert_output_contains "$tasks" "root-file-task"
108+
assert_output_contains "$tasks" "root-dir-task"
109+
assert_output_contains "$tasks" "local-file-task"
110+
assert_output_contains "$tasks" "local-dir-task"
111+
99112
cat <<'TOML' >mise.toml
100113
[env]
101114
ROOT_CONFIG = "1"
@@ -132,12 +145,11 @@ includes = ["tasks.local.toml", "local-tasks"]
132145
includes_mode = "extend"
133146
TOML
134147

135-
# FIXME: This should be ci + local when the MISE_ENV include precedence bug is fixed.
136148
tasks="$(MISE_ENV=prod,ci mise tasks ls)"
137149
assert_output_not_contains "$tasks" "default-task"
138150
assert_output_not_contains "$tasks" "root-file-task"
139151
assert_output_not_contains "$tasks" "root-dir-task"
140-
assert_output_contains "$tasks" "prod-dir-task"
141-
assert_output_not_contains "$tasks" "ci-dir-task"
152+
assert_output_not_contains "$tasks" "prod-dir-task"
153+
assert_output_contains "$tasks" "ci-dir-task"
142154
assert_output_contains "$tasks" "local-file-task"
143155
assert_output_contains "$tasks" "local-dir-task"

schema/mise.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2154,6 +2154,11 @@
21542154
"type": "string"
21552155
},
21562156
"type": "array"
2157+
},
2158+
"includes_mode": {
2159+
"description": "controls whether task_config.includes replaces or extends inherited task includes",
2160+
"enum": ["replace", "extend", "additive"],
2161+
"type": "string"
21572162
}
21582163
}
21592164
},

0 commit comments

Comments
 (0)