diff options
Diffstat (limited to 'zuul/manager/__init__.py')
-rw-r--r-- | zuul/manager/__init__.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/zuul/manager/__init__.py b/zuul/manager/__init__.py index 36361df11..104ded38a 100644 --- a/zuul/manager/__init__.py +++ b/zuul/manager/__init__.py @@ -1448,16 +1448,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, |