From a50f890bd59796ef46a3e042adc2d71250f8bae8 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Fri, 6 Jun 2025 16:39:00 +0200 Subject: [PATCH] Skip validation of expression.json input in workflow parameter validator --- lib/galaxy/workflow/modules.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/workflow/modules.py b/lib/galaxy/workflow/modules.py index 3f94b2f196e..13df6640626 100644 --- a/lib/galaxy/workflow/modules.py +++ b/lib/galaxy/workflow/modules.py @@ -1630,7 +1630,19 @@ class InputParameterModule(WorkflowModule): input_param = self.get_runtime_inputs(self)["input"] # TODO: raise DelayedWorkflowEvaluation if replacement not ready ? Need test try: - input_param.validate(input_value, trans) + if not isinstance( + input_value, + ( + model.DatasetInstance, + model.HistoryDatasetCollectionAssociation, + model.DatasetCollection, + model.DatasetCollectionElement, + ), + ): + # We could attempt to turn expression.json datasets back into validatable values, + # but then we'd have to delay scheduling until they are ready. workflow parmater value validators are + # likely most important for parent workflows, where they run on primitive values. + input_param.validate(input_value, trans) except ValueError as e: raise FailWorkflowEvaluation( why=InvocationFailureWorkflowParameterInvalid(