Loading lib/galaxy/dependencies/pipfiles/default/pinned-requirements.txt +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ cmd2==0.8.9 coloredlogs==14.0 configparser==4.0.2 ; python_version < '3.2' contextlib2==0.6.0.post1 ; python_version < '3.5' cryptography==2.9.2 cryptography==3.2.1 cwltool==1.0.20191225192155 debtcollector==1.22.0 decorator==4.4.2 Loading lib/galaxy/jobs/runners/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ _galaxy_setup_environment() { $integrity_injection $slots_statement export GALAXY_SLOTS export PYTHONWARNINGS="ignore" GALAXY_VIRTUAL_ENV="$galaxy_virtual_env" _GALAXY_VIRTUAL_ENV="$galaxy_virtual_env" PRESERVE_GALAXY_ENVIRONMENT="$preserve_python_environment" Loading lib/galaxy/model/mapping.py +8 −0 Original line number Diff line number Diff line Loading @@ -2619,6 +2619,14 @@ simple_mapping( simple_mapping( model.WorkflowInvocationOutputValue, workflow_invocation=relation(model.WorkflowInvocation, backref="output_values"), workflow_invocation_step=relation(model.WorkflowInvocationStep, foreign_keys=[model.WorkflowInvocationStep.table.c.workflow_invocation_id, model.WorkflowInvocationStep.table.c.workflow_step_id], primaryjoin=and_( model.WorkflowInvocationStep.table.c.workflow_invocation_id == model.WorkflowInvocationOutputValue.table.c.workflow_invocation_id, model.WorkflowInvocationStep.table.c.workflow_step_id == model.WorkflowInvocationOutputValue.table.c.workflow_step_id, ), backref='output_value' ), workflow_step=relation(model.WorkflowStep), workflow_output=relation(model.WorkflowOutput), ) Loading lib/galaxy/workflow/run.py +6 −10 Original line number Diff line number Diff line Loading @@ -352,12 +352,6 @@ class WorkflowProgress(object): try: replacement = step_outputs[output_name] except KeyError: replacement = self.inputs_by_step_id.get(output_step_id) if connection.output_step.type == 'parameter_input' and output_step_id is not None: # FIXME: parameter_input step outputs should be properly recorded as step outputs, but for now we can # short-circuit and just pick the input value pass else: # Must resolve. template = "Workflow evaluation problem - failed to find output_name %s in step_outputs %s" message = template % (output_name, step_outputs) Loading Loading @@ -428,6 +422,8 @@ class WorkflowProgress(object): def set_step_outputs(self, invocation_step, outputs, already_persisted=False): step = invocation_step.workflow_step if invocation_step.output_value: outputs[invocation_step.output_value.workflow_output.output_name] = invocation_step.output_value.value self.outputs[step.id] = outputs if not already_persisted: for output_name, output_object in outputs.items(): Loading lib/galaxy_test/api/test_workflows.py +18 −0 Original line number Diff line number Diff line Loading @@ -2289,6 +2289,24 @@ data_input: type: File """, history_id=history_id, wait=True, assert_ok=True) def test_run_with_int_parameter_nested(self): with self.dataset_populator.test_history() as history_id: workflow = self.workflow_populator.load_workflow_from_resource("test_subworkflow_with_integer_input") workflow_id = self.workflow_populator.create_workflow(workflow) hda = self.dataset_populator.new_dataset(history_id, content="1 2 3") workflow_request = { 'history_id': history_id, 'workflow_id': workflow_id, 'inputs_by': 'name', 'inputs': json.dumps({ 'input_dataset': {'src': 'hda', 'id': hda['id']}, 'int_parameter': 1, }) } invocation_response = self.workflow_populator.invoke_workflow_raw(workflow_id, workflow_request) assert invocation_response.status_code == 200, invocation_response.text self.workflow_populator.wait_for_invocation(workflow_id, invocation_response.json()['id']) def test_run_with_validated_parameter_connection_default_values(self): with self.dataset_populator.test_history() as history_id: self._run_jobs(WORKFLOW_PARAMETER_INPUT_INTEGER_DEFAULT, test_data=""" Loading Loading
lib/galaxy/dependencies/pipfiles/default/pinned-requirements.txt +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ cmd2==0.8.9 coloredlogs==14.0 configparser==4.0.2 ; python_version < '3.2' contextlib2==0.6.0.post1 ; python_version < '3.5' cryptography==2.9.2 cryptography==3.2.1 cwltool==1.0.20191225192155 debtcollector==1.22.0 decorator==4.4.2 Loading
lib/galaxy/jobs/runners/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ _galaxy_setup_environment() { $integrity_injection $slots_statement export GALAXY_SLOTS export PYTHONWARNINGS="ignore" GALAXY_VIRTUAL_ENV="$galaxy_virtual_env" _GALAXY_VIRTUAL_ENV="$galaxy_virtual_env" PRESERVE_GALAXY_ENVIRONMENT="$preserve_python_environment" Loading
lib/galaxy/model/mapping.py +8 −0 Original line number Diff line number Diff line Loading @@ -2619,6 +2619,14 @@ simple_mapping( simple_mapping( model.WorkflowInvocationOutputValue, workflow_invocation=relation(model.WorkflowInvocation, backref="output_values"), workflow_invocation_step=relation(model.WorkflowInvocationStep, foreign_keys=[model.WorkflowInvocationStep.table.c.workflow_invocation_id, model.WorkflowInvocationStep.table.c.workflow_step_id], primaryjoin=and_( model.WorkflowInvocationStep.table.c.workflow_invocation_id == model.WorkflowInvocationOutputValue.table.c.workflow_invocation_id, model.WorkflowInvocationStep.table.c.workflow_step_id == model.WorkflowInvocationOutputValue.table.c.workflow_step_id, ), backref='output_value' ), workflow_step=relation(model.WorkflowStep), workflow_output=relation(model.WorkflowOutput), ) Loading
lib/galaxy/workflow/run.py +6 −10 Original line number Diff line number Diff line Loading @@ -352,12 +352,6 @@ class WorkflowProgress(object): try: replacement = step_outputs[output_name] except KeyError: replacement = self.inputs_by_step_id.get(output_step_id) if connection.output_step.type == 'parameter_input' and output_step_id is not None: # FIXME: parameter_input step outputs should be properly recorded as step outputs, but for now we can # short-circuit and just pick the input value pass else: # Must resolve. template = "Workflow evaluation problem - failed to find output_name %s in step_outputs %s" message = template % (output_name, step_outputs) Loading Loading @@ -428,6 +422,8 @@ class WorkflowProgress(object): def set_step_outputs(self, invocation_step, outputs, already_persisted=False): step = invocation_step.workflow_step if invocation_step.output_value: outputs[invocation_step.output_value.workflow_output.output_name] = invocation_step.output_value.value self.outputs[step.id] = outputs if not already_persisted: for output_name, output_object in outputs.items(): Loading
lib/galaxy_test/api/test_workflows.py +18 −0 Original line number Diff line number Diff line Loading @@ -2289,6 +2289,24 @@ data_input: type: File """, history_id=history_id, wait=True, assert_ok=True) def test_run_with_int_parameter_nested(self): with self.dataset_populator.test_history() as history_id: workflow = self.workflow_populator.load_workflow_from_resource("test_subworkflow_with_integer_input") workflow_id = self.workflow_populator.create_workflow(workflow) hda = self.dataset_populator.new_dataset(history_id, content="1 2 3") workflow_request = { 'history_id': history_id, 'workflow_id': workflow_id, 'inputs_by': 'name', 'inputs': json.dumps({ 'input_dataset': {'src': 'hda', 'id': hda['id']}, 'int_parameter': 1, }) } invocation_response = self.workflow_populator.invoke_workflow_raw(workflow_id, workflow_request) assert invocation_response.status_code == 200, invocation_response.text self.workflow_populator.wait_for_invocation(workflow_id, invocation_response.json()['id']) def test_run_with_validated_parameter_connection_default_values(self): with self.dataset_populator.test_history() as history_id: self._run_jobs(WORKFLOW_PARAMETER_INPUT_INTEGER_DEFAULT, test_data=""" Loading