summaryrefslogtreecommitdiff
path: root/zuul
diff options
context:
space:
mode:
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,