From 4b0995f24ebdf0b76c00949ee2f5f92344191d63 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Mon, 2 Feb 2026 17:45:54 +0100 Subject: [PATCH 1/5] Add missing filter_failed_collection_1.1.0.xml tool Fixes #21389 The tool_conf.xml.sample references filter_failed_collection_1.1.0.xml which did not exist. The filter_failed_collection.xml (version 1.0.0) incorrectly had the "replacement" parameter which should only be present in the 1.1.0 version. I chose to keep it so that we don't cause issues with existing workflows and reruns. This change: - Creates filter_failed_collection_1.1.0.xml with the replacement parameter, following the pattern of other 1.1.0 tools like filter_empty_collection_1.1.0.xml --- .../tools/filter_failed_collection_1.1.0.xml | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 lib/galaxy/tools/filter_failed_collection_1.1.0.xml diff --git a/lib/galaxy/tools/filter_failed_collection_1.1.0.xml b/lib/galaxy/tools/filter_failed_collection_1.1.0.xml new file mode 100644 index 00000000000..90ebb96f7a2 --- /dev/null +++ b/lib/galaxy/tools/filter_failed_collection_1.1.0.xml @@ -0,0 +1,66 @@ + + + + + + operation_3695 + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 0ab9d63bd77de875d135e7a60f458657823222e3 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Mon, 2 Feb 2026 18:00:37 +0100 Subject: [PATCH 2/5] Strip inline comments in conditional requirements --- lib/galaxy/dependencies/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/dependencies/__init__.py b/lib/galaxy/dependencies/__init__.py index 5afd18075b8..6b0f8599f36 100644 --- a/lib/galaxy/dependencies/__init__.py +++ b/lib/galaxy/dependencies/__init__.py @@ -3,6 +3,7 @@ Determine what optional dependencies are needed. """ import os +import re import sys from os.path import ( dirname, @@ -337,6 +338,12 @@ class ConditionalDependencies: return "huggingface" in self.file_sources +def strip_comment(line): + # lifted from https://github.com/tox-dev/tox/commit/3c6b4f204e89852c4b7536b246a66d20be6d39ec + # xref https://github.com/pyupio/dparse/issues/34 + return re.sub(r"\s+#.*", "", line).strip() + + def optional(config_file=None): if not config_file: config_file = find_config_file(["galaxy", "universe_wsgi"], include_samples=True) @@ -347,5 +354,5 @@ def optional(config_file=None): conditional = ConditionalDependencies(config_file) for dependency in conditional.conditional_reqs: if conditional.check(dependency.name): - rval.append(dependency.line) + rval.append(strip_comment(dependency.line)) return rval From 72d245a875c99da947c4204528e6b552639f848c Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Thu, 15 Jan 2026 08:10:46 -0500 Subject: [PATCH 3/5] Exclude node_modules at all depths in Docker builds The pattern `node_modules` only matches at the root level in .dockerignore (unlike .gitignore). Use `**/node_modules` to exclude client/node_modules and avoid copying 22GB to the build context. --- .dockerignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index ce3827197e7..19a7dbeacb7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,4 @@ .k8s_ci.Dockerfile .venv database -node_modules +**/node_modules From af6230d66a92a820e2626eeb71acf5c68520a56d Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Mon, 2 Feb 2026 18:22:57 +0100 Subject: [PATCH 4/5] Add new filter from file version to sample tool conf --- lib/galaxy/config/sample/tool_conf.xml.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/galaxy/config/sample/tool_conf.xml.sample b/lib/galaxy/config/sample/tool_conf.xml.sample index 8b8c3c4a639..db08572fbcc 100644 --- a/lib/galaxy/config/sample/tool_conf.xml.sample +++ b/lib/galaxy/config/sample/tool_conf.xml.sample @@ -43,6 +43,7 @@ + From 6f7610aa2dc1ee80bb5862195c6f775951e209cf Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Mon, 2 Feb 2026 20:14:52 +0100 Subject: [PATCH 5/5] Fix test formatting --- lib/galaxy_test/api/test_workflows.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/galaxy_test/api/test_workflows.py b/lib/galaxy_test/api/test_workflows.py index 0a375f2631e..60d526d7b16 100644 --- a/lib/galaxy_test/api/test_workflows.py +++ b/lib/galaxy_test/api/test_workflows.py @@ -7972,8 +7972,7 @@ steps: # Regression test for https://github.com/galaxyproject/galaxy/issues/21602 # When a workflow input with restrictOnConnections connects to multiple subworkflows, # the options should be the intersection of all connected subworkflow options. - workflow_id = self.workflow_populator.upload_yaml_workflow( - """ + workflow_id = self.workflow_populator.upload_yaml_workflow(""" class: GalaxyWorkflow inputs: Outer input parameter: @@ -8013,8 +8012,7 @@ steps: in: select_ex: source: inner input parameter -""" - ) +""") with self.dataset_populator.test_history() as history_id: run_workflow = self._download_workflow(workflow_id, style="run", history_id=history_id) options = run_workflow["steps"][0]["inputs"][0]["options"]