diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index 4aba5ead578..e8670c91b67 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -199,7 +199,7 @@ proto-plus==1.27.0 protobuf==6.33.4 prov==1.5.1 psutil==7.2.1 -pulsar-galaxy-lib==0.15.13 +pulsar-galaxy-lib==0.15.14 py-key-value-aio==0.3.0 py-key-value-shared==0.3.0 pyasn1==0.6.2 diff --git a/test/integration/embedded_pulsar_none_job_conf.yml b/test/integration/embedded_pulsar_none_job_conf.yml new file mode 100644 index 00000000000..c7178318a95 --- /dev/null +++ b/test/integration/embedded_pulsar_none_job_conf.yml @@ -0,0 +1,23 @@ +runners: + local: + load: galaxy.jobs.runners.local:LocalJobRunner + pulsar_embed: + load: galaxy.jobs.runners.pulsar:PulsarEmbeddedJobRunner + pulsar_app_config: + tool_dependency_dir: none + conda_auto_init: false + conda_auto_install: false + +execution: + default: pulsar_embed + environments: + local: + runner: local + pulsar_embed: + runner: pulsar_embed + remote_metadata: true + default_file_action: none + +tools: +- class: local + environment: local diff --git a/test/integration/test_pulsar_embedded_none.py b/test/integration/test_pulsar_embedded_none.py new file mode 100644 index 00000000000..206e41d8f18 --- /dev/null +++ b/test/integration/test_pulsar_embedded_none.py @@ -0,0 +1,36 @@ +"""Integration tests for the Pulsar embedded runner with default_file_action: none. + +This tests the configuration where Pulsar and Galaxy share a filesystem and +no file staging is needed (default_file_action: none). + +See https://github.com/galaxyproject/galaxy/issues/21566 +""" + +import os + +from galaxy_test.driver import integration_util + +SCRIPT_DIRECTORY = os.path.abspath(os.path.dirname(__file__)) +EMBEDDED_PULSAR_JOB_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "embedded_pulsar_none_job_conf.yml") + + +class EmbeddedNonePulsarIntegrationInstance(integration_util.IntegrationInstance): + """Describe a Galaxy test instance with embedded pulsar configured with default_file_action: none.""" + + framework_tool_and_types = True + + @classmethod + def handle_galaxy_config_kwds(cls, config): + config["job_config_file"] = EMBEDDED_PULSAR_JOB_CONFIG_FILE + config["object_store_store_by"] = "uuid" + config["retry_metadata_internally"] = False + + +instance = integration_util.integration_module_instance(EmbeddedNonePulsarIntegrationInstance) + +test_tools = integration_util.integration_tool_runner( + [ + "simple_constructs", + "job_properties", + ] +)