diff --git a/lib/galaxy/dependencies/dev-requirements.txt b/lib/galaxy/dependencies/dev-requirements.txt index 85b8fdd2ce9..fe5d79641a3 100644 --- a/lib/galaxy/dependencies/dev-requirements.txt +++ b/lib/galaxy/dependencies/dev-requirements.txt @@ -32,7 +32,7 @@ celery==5.0.5; python_version >= "3.6" certifi==2020.12.5; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6" cffi==1.14.5; implementation_name == "pypy" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0") chardet==4.0.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" -cheetah3==3.2.6.post2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") +cheetah3==3.2.6.post1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") circus==0.17.1 click-didyoumean==0.0.3; python_version >= "3.6" click-plugins==1.1.1; python_version >= "3.6" diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index d88ba36986c..47dd1fef09a 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -30,7 +30,7 @@ celery==5.0.5; python_version >= "3.6" certifi==2020.12.5; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" cffi==1.14.5; implementation_name == "pypy" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0") chardet==4.0.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" -cheetah3==3.2.6.post2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") +cheetah3==3.2.6.post1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") circus==0.17.1 click-didyoumean==0.0.3; python_version >= "3.6" click-plugins==1.1.1; python_version >= "3.6" diff --git a/lib/galaxy/jobs/runners/pulsar.py b/lib/galaxy/jobs/runners/pulsar.py index d84e3af48ee..32d73dd355d 100644 --- a/lib/galaxy/jobs/runners/pulsar.py +++ b/lib/galaxy/jobs/runners/pulsar.py @@ -6,6 +6,7 @@ More information on Pulsar can be found at https://pulsar.readthedocs.io/ . import errno import logging import os +import re import subprocess from time import sleep @@ -759,6 +760,10 @@ class PulsarJobRunner(AsynchronousJobRunner): output_files = self.get_output_files(job_wrapper) metadata_directory = os.path.join(job_wrapper.working_directory, "metadata") metadata_strategy = job_wrapper.get_destination_configuration('metadata_strategy', None) + tool = job_wrapper.tool + tool_provided_metadata_file_path = tool.provided_metadata_file + tool_provided_metadata_style = tool.provided_metadata_style + dynamic_outputs = None # use default if metadata_strategy == "extended" and PulsarJobRunner.__remote_metadata(client): # if Pulsar is doing remote metadata and the remote metadata is extended, @@ -767,10 +772,10 @@ class PulsarJobRunner(AsynchronousJobRunner): else: # otherwise collect everything we might need dynamic_outputs = DEFAULT_DYNAMIC_COLLECTION_PATTERN[:] + # grab discovered outputs... dynamic_outputs.extend(job_wrapper.tool.output_discover_patterns) - tool = job_wrapper.tool - tool_provided_metadata_file_path = tool.provided_metadata_file - tool_provided_metadata_style = tool.provided_metadata_style + # grab tool provided metadata (galaxy.json) also... + dynamic_outputs.append(re.escape(tool_provided_metadata_file_path)) dynamic_file_sources = [ {"path": tool_provided_metadata_file_path, "type": "galaxy" if tool_provided_metadata_style == "default" else "legacy_galaxy"} ] diff --git a/test/integration/test_pulsar_embedded.py b/test/integration/test_pulsar_embedded.py index db9bd8baedf..75d1df29276 100644 --- a/test/integration/test_pulsar_embedded.py +++ b/test/integration/test_pulsar_embedded.py @@ -29,4 +29,6 @@ test_tools = integration_util.integration_tool_runner([ "vcf_bgzip_test", "environment_variables", "multi_output_assign_primary_ext_dbkey", + "strict_shell", + "tool_provided_metadata_9", ])