From 74a324ad4b2b31894f5c4e488111dfba4ad5f85d Mon Sep 17 00:00:00 2001 From: Timothy Rule <34501912+trulede@users.noreply.github.com> Date: Sat, 6 Dec 2025 10:02:41 +0100 Subject: [PATCH 1/2] wip --- taskfile/ast/taskfile.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/taskfile/ast/taskfile.go b/taskfile/ast/taskfile.go index 8085e41b63..241c4ea649 100644 --- a/taskfile/ast/taskfile.go +++ b/taskfile/ast/taskfile.go @@ -61,6 +61,11 @@ func (t1 *Taskfile) Merge(t2 *Taskfile, include *Include) error { } t1.Vars.Merge(t2.Vars, include) t1.Env.Merge(t2.Env, include) + if t2.Run != "" { + for _, v := range t2.Tasks.All(nil) { + v.Run = t2.Run + } + } return t1.Tasks.Merge(t2.Tasks, include, t1.Vars) } From 7742c0e0ea88a419fce760aacf95ade37ee09d5b Mon Sep 17 00:00:00 2001 From: Timothy Rule <34501912+trulede@users.noreply.github.com> Date: Sat, 6 Dec 2025 10:15:41 +0100 Subject: [PATCH 2/2] Apply imported taskfile.Run to imported tasks. --- taskfile/ast/taskfile.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/taskfile/ast/taskfile.go b/taskfile/ast/taskfile.go index 241c4ea649..4311767841 100644 --- a/taskfile/ast/taskfile.go +++ b/taskfile/ast/taskfile.go @@ -62,8 +62,13 @@ func (t1 *Taskfile) Merge(t2 *Taskfile, include *Include) error { t1.Vars.Merge(t2.Vars, include) t1.Env.Merge(t2.Env, include) if t2.Run != "" { + // Apply t2.Run to all t2.Tasks (if not explicitly set). This + // ensures the global `Run` of the imported/merged taskfile is + // retained for those tasks. for _, v := range t2.Tasks.All(nil) { - v.Run = t2.Run + if v.Run == "" { + v.Run = t2.Run + } } } return t1.Tasks.Merge(t2.Tasks, include, t1.Vars)