@@ -167,7 +167,7 @@ def run_local_task(
167167 # evaluate runtime fields
168168 stdlib = InputStdLib (task .effective_wdl_version , logger , container )
169169 container .runtime_values = _eval_task_runtime (
170- cfg , logger , task , container , container_env , stdlib
170+ cfg , logger , task , posix_inputs , container , container_env , stdlib
171171 )
172172
173173 # interpolate command
@@ -409,6 +409,7 @@ def _eval_task_runtime(
409409 cfg : config .Loader ,
410410 logger : logging .Logger ,
411411 task : Tree .Task ,
412+ inputs : Env .Bindings [Value .Base ],
412413 container : TaskContainer ,
413414 env : Env .Bindings [Value .Base ],
414415 stdlib : StdLib .Base ,
@@ -421,8 +422,10 @@ def _eval_task_runtime(
421422 runtime_values [key ] = Value .Int (v )
422423 else :
423424 raise Error .InputError (f"invalid default runtime setting { key } = { v } " )
424- for key , expr in task .runtime .items ():
425+ for key , expr in task .runtime .items (): # evaluate expressions in source code
425426 runtime_values [key ] = expr .eval (env , stdlib )
427+ for b in inputs .enter_namespace ("runtime" ):
428+ runtime_values [b .name ] = b .value # input overrides
426429 logger .debug (_ ("runtime values" , ** dict ((key , str (v )) for key , v in runtime_values .items ())))
427430 ans = {}
428431
0 commit comments