From 145917b54b439ad28e0011702c458934d91022d2 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Tue, 7 Jul 2026 17:41:31 +0200 Subject: [PATCH] source_store: discover per-conf stores from all_tool_config_files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Store discovery walked config.tool_configs, but in the standalone populator CLI that list is never expanded to include shed_tool_config_file (that expansion only happens during app boot). So a store declared with store="..." on the shed tool_conf — the documented CVMFS pattern — was invisible, and --target NAME failed with "not found; available: [__default__]". Walk config.all_tool_config_files() in _collect_per_conf_store_names, _build_stores, and _build_conf_to_store_map, matching discover_tools. Regression test covers a store declared on the shed conf. Claude-Session: https://claude.ai/code/session_018L7ZmCv2ubKA3JNeSL8Pkr --- lib/galaxy/tools/source_store/factory.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/galaxy/tools/source_store/factory.py b/lib/galaxy/tools/source_store/factory.py index 3786ee4454d..4469b115e35 100644 --- a/lib/galaxy/tools/source_store/factory.py +++ b/lib/galaxy/tools/source_store/factory.py @@ -81,10 +81,8 @@ def build_named_store( def _collect_per_conf_store_names(config: "GalaxyAppConfiguration") -> set[str]: """Walk configured tool_confs and collect referenced store names.""" - if not config.tool_configs: - return set() names: set[str] = set() - for path in config.tool_configs: + for path in config.all_tool_config_files(): try: parser = get_toolbox_parser(path) except Exception as e: