Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 33 additions & 5 deletions e2e/tasks/test_task_ls_global
Original file line number Diff line number Diff line change
@@ -1,17 +1,45 @@
#!/usr/bin/env bash

echo "tasks.mylocal = { run = 'echo mylocal' }" >mise.toml
echo "tasks.myglobal = { run = 'echo myglobal' }" >~/.config/mise/config.toml
cat >~/.config/mise/config.toml <<'TOML'
tasks.myglobal = { run = 'echo myglobal' }

[task_config]
includes = [".config/mise/tasks", "dotfiles/tasks"]
TOML
mkdir -p ~/.config/mise/tasks
cat <<'EOF' >~/.config/mise/tasks/myglobalfile
#!/usr/bin/env bash
echo myglobalfile
EOF
chmod +x ~/.config/mise/tasks/myglobalfile
mkdir -p ~/dotfiles/tasks
cat <<'EOF' >~/dotfiles/tasks/customglobalfile
#!/usr/bin/env bash
echo "PROJECT_ROOT=$MISE_PROJECT_ROOT"
EOF
chmod +x ~/dotfiles/tasks/customglobalfile
mkdir -p "$PWD/system-config" "$PWD/system-tasks"
cat >"$PWD/system-config/config.toml" <<EOF
[task_config]
includes = ["$PWD/system-tasks"]
EOF
cat <<'EOF' >"$PWD/system-tasks/systemglobalfile"
#!/usr/bin/env bash
echo "PROJECT_ROOT=$MISE_PROJECT_ROOT"
EOF
chmod +x "$PWD/system-tasks/systemglobalfile"
export MISE_SYSTEM_CONFIG_FILE="$PWD/system-config/config.toml"

assert "mise tasks" "myglobal
assert "mise tasks" "customglobalfile
myglobal
myglobalfile
mylocal"
mylocal
systemglobalfile"
assert "mise tasks --local" "mylocal"
assert "mise tasks --global" "myglobal
myglobalfile"
assert "mise tasks --global" "customglobalfile
myglobal
myglobalfile
systemglobalfile"
assert "mise run customglobalfile" "PROJECT_ROOT=$PWD"
assert "mise run systemglobalfile" "PROJECT_ROOT=$PWD"
3 changes: 2 additions & 1 deletion src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3010,6 +3010,7 @@ async fn load_file_tasks(
templates: &IndexMap<String, TaskTemplate>,
monorepo_cf: Option<&Arc<dyn ConfigFile>>,
) -> Result<Vec<Task>> {
let is_global = is_global_config(cf.get_path());
let includes = cf
.task_config_includes()?
.unwrap_or_else(default_task_includes);
Expand Down Expand Up @@ -3039,7 +3040,7 @@ async fn load_file_tasks(
require_task_include_trust,
)
.await?;
if is_global_task_include_path(&path) {
if is_global || is_global_task_include_path(&path) {
mark_tasks_as_global(&mut loaded);
}
tasks.extend(loaded);
Expand Down