@@ -186,40 +186,34 @@ def validate_production(cls, values):
186186# Temporary code, waiting on cwltool PR: https://github.com/common-workflow-language/cwltool/pull/2179.
187187
188188
189- def validate_resource_requirements (task ):
189+ def validate_resource_requirements (task : CommandLineTool | Workflow | ExpressionTool ):
190190 """
191- Validate ResourceRequirements of a task (CommandLineTool, Workflow, WorkflowStep , WorkflowStep.run ).
191+ Validate ResourceRequirements of a task (CommandLineTool, ExpressionTool, Workflow , WorkflowStep).
192192
193193 :param task: The task to validate
194194 """
195- cwl_req = _get_resource_requirement (task )
195+ req = _get_resource_requirement (task )
196196
197- # Validate Workflow/CLT requirements.
198- if cwl_req :
199- _validate_resource_requirement (cwl_req )
197+ # Validate Workflow/CommandLineTool/ExpressionTool requirements.
198+ if req :
199+ _validate_resource_requirement (req )
200200
201201 # Validate WorkflowStep requirements.
202- if not isinstance (task , CommandLineTool ) and task .steps :
202+ if isinstance (task , Workflow ) and task .steps :
203203 for step in task .steps :
204204 step_req = _get_resource_requirement (step )
205205 if step_req :
206206 _validate_resource_requirement (step_req )
207207
208208 # Validate run requirements for each step if they exist.
209209 if step .run :
210- if isinstance (step .run , Workflow ):
211- # Validate nested Workflow requirements, if any.
212- validate_resource_requirements (task = step .run )
213-
214- step_run_req = _get_resource_requirement (step .run )
215- if step_run_req :
216- _validate_resource_requirement (step_run_req )
210+ validate_resource_requirements (task = step .run )
217211
218212
219213def _validate_resource_requirement (requirement ):
220214 """Validate a ResourceRequirement.
221215
222- Verify that resourceMin is not higher than resourceMax (CommandLineTool, Workflow, WorkflowStep , WorkflowStep.run )
216+ Verify that resourceMin is not higher than resourceMax (CommandLineTool, ExpressionTool, Workflow , WorkflowStep)
223217
224218 :param requirement: The current ResourceRequirement to validate.
225219 :raises ValueError: If the requirement is invalid.
@@ -235,7 +229,7 @@ def _validate_resource_requirement(requirement):
235229
236230
237231def _get_resource_requirement (
238- cwl_object : Workflow | CommandLineTool | WorkflowStep ,
232+ cwl_object : Workflow | CommandLineTool | ExpressionTool | WorkflowStep ,
239233) -> ResourceRequirement | None :
240234 """
241235 Extract the resource requirement from the current cwl_object.
0 commit comments