@@ -166,8 +166,8 @@ class Task:
166
166
cmd : Union [str , Sequence [str ]]
167
167
extra_env : Env = field (default_factory = dict )
168
168
extra_context : Dict [str , Any ] = field (default_factory = dict )
169
- condition : str = field ( default = "true" )
170
- working_directory : str = field ( default = "." )
169
+ condition : str = "true"
170
+ working_directory : Path = Path ( "." )
171
171
172
172
173
173
@dataclass
@@ -406,15 +406,13 @@ def migration_tasks(
406
406
# New configuration format
407
407
if isinstance (migration , (str , list )):
408
408
result .append (Task (cmd = migration , extra_env = extra_env , extra_context = extra_context ))
409
-
410
409
else :
411
410
condition = migration .get ("when" , "true" )
412
411
working_directory = migration .get ("working_directory" , "." )
413
412
if "version" in migration :
414
413
current = parse (migration ["version" ])
415
414
if not (self .version >= current > from_template .version ):
416
415
continue
417
-
418
416
extra_env = {
419
417
** extra_env ,
420
418
"VERSION_CURRENT" : migration ["version" ],
@@ -497,8 +495,9 @@ def tasks(self) -> Sequence[Task]:
497
495
if isinstance (task , (str , list )):
498
496
tasks .append (Task (cmd = task , extra_env = extra_env ))
499
497
elif isinstance (task , dict ):
500
- tasks .append (Task (cmd = task ["command" ], extra_env = extra_env , extra_context = extra_context , condition = task .get ("when" , "true" ), working_directory = task .get ("working_directory" , "." )))
501
-
498
+ tasks .append (Task (cmd = task ["command" ], extra_env = extra_env , extra_context = extra_context , condition = task .get ("when" , "true" ), working_directory = Path (task .get ("working_directory" , "." ))))
499
+ else :
500
+ raise NotImplementedError ("Unsupported tasks format" )
502
501
return tasks
503
502
504
503
@cached_property
0 commit comments