summaryrefslogtreecommitdiff
path: root/zuul
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-03-06 10:07:32 +0000
committerGerrit Code Review <review@openstack.org>2023-03-06 10:07:32 +0000
commitfb6ab87d27b021d923a838627d98583ea47e2242 (patch)
tree7aa93b048534eeb7aadaccf0bf18874f37f7ddc3 /zuul
parente2692e70ff82c6014dad99db64027e7bd89937ae (diff)
parentd74d40be5302d710410cc9fd8fdaaad352f3ebe6 (diff)
downloadzuul-fb6ab87d27b021d923a838627d98583ea47e2242.tar.gz
Merge "extra-config-files/dirs in items of a bundle should be loaded"
Diffstat (limited to 'zuul')
-rw-r--r--zuul/manager/__init__.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/zuul/manager/__init__.py b/zuul/manager/__init__.py
index e87e553d3..0eaf844ad 100644
--- a/zuul/manager/__init__.py
+++ b/zuul/manager/__init__.py
@@ -1460,16 +1460,25 @@ class PipelineManager(metaclass=ABCMeta):
item.bundle and
item.bundle.updatesConfig(tenant) and tpc is not None
):
- extra_config_files = set(tpc.extra_config_files)
- extra_config_dirs = set(tpc.extra_config_dirs)
+ # Here we can not use build_set.merger_items because it does
+ # not contain the project canonical_name
+ merger_items = {item}
+ merger_items.update(item.items_ahead)
+ if item.bundle:
+ merger_items.update(item.bundle.items)
+
# Merge extra_config_files and extra_config_dirs of the
# dependent change
- for item_ahead in item.items_ahead:
- tpc_ahead = tenant.project_configs.get(
- item_ahead.change.project.canonical_name)
- if tpc_ahead:
- extra_config_files.update(tpc_ahead.extra_config_files)
- extra_config_dirs.update(tpc_ahead.extra_config_dirs)
+ extra_config_files = set()
+ extra_config_dirs = set()
+ for merger_item in merger_items:
+ merger_item_tpc = tenant.project_configs.get(
+ merger_item.change.project.canonical_name)
+ if merger_item_tpc:
+ extra_config_files.update(
+ merger_item_tpc.extra_config_files)
+ extra_config_dirs.update(
+ merger_item_tpc.extra_config_dirs)
ready = self.scheduleMerge(
item,