fix: do not allow task-level dotenv in included taskfiles · go-task/task@552802c · GitHub
Skip to content

Commit 552802c

Browse files
committed
fix: do not allow task-level dotenv in included taskfiles
1 parent b1cc901 commit 552802c

4 files changed

Lines changed: 37 additions & 1 deletion

File tree

‎task_test.go‎

Lines changed: 14 additions & 0 deletions

‎taskfile/read/taskfile.go‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,15 @@ func Taskfile(readerNode *ReaderNode) (*taskfile.Taskfile, error) {
121121
return err
122122
}
123123

124-
if v >= 3.0 && len(includedTaskfile.Dotenv) > 0 {
124+
tasksWithDotenv := false
125+
for _, v := range includedTaskfile.Tasks {
126+
if len(v.Dotenv) > 0 {
127+
tasksWithDotenv = true
128+
break
129+
}
130+
}
131+
132+
if v >= 3.0 && (len(includedTaskfile.Dotenv) > 0 || tasksWithDotenv) {
125133
return ErrIncludedTaskfilesCantHaveDotenvs
126134
}
127135

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: '3'
2+
3+
tasks:
4+
dotenv:
5+
dotenv: ['.env']
6+
cmds:
7+
- echo "$FOO" > included-dotenv.txt
Lines changed: 7 additions & 0 deletions

0 commit comments

Comments
 (0)