diff options
author | Zuul <zuul@review.opendev.org> | 2023-03-06 10:07:35 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-03-06 10:07:35 +0000 |
commit | d6d592f5a75d6ee50a67115230698501a5cd0b24 (patch) | |
tree | 88373a3e0707eac192a3c2790e797f596baa2e7d | |
parent | fb6ab87d27b021d923a838627d98583ea47e2242 (diff) | |
parent | ef281ec9b68c975b6f7d3f5188507b68a108e55a (diff) | |
download | zuul-d6d592f5a75d6ee50a67115230698501a5cd0b24.tar.gz |
Merge "Use buildset merger items to collect extra config"
-rw-r--r-- | zuul/manager/__init__.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/zuul/manager/__init__.py b/zuul/manager/__init__.py index 0eaf844ad..c3d082a47 100644 --- a/zuul/manager/__init__.py +++ b/zuul/manager/__init__.py @@ -1460,25 +1460,17 @@ class PipelineManager(metaclass=ABCMeta): item.bundle and item.bundle.updatesConfig(tenant) and tpc is not None ): - # 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 + # Collect extra config files and dirs of required changes. 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) + for merger_item in item.current_build_set.merger_items: + source = self.sched.connections.getSource( + merger_item["connection"]) + project = source.getProject(merger_item["project"]) + tpc = tenant.project_configs.get(project.canonical_name) + if tpc: + extra_config_files.update(tpc.extra_config_files) + extra_config_dirs.update(tpc.extra_config_dirs) ready = self.scheduleMerge( item, |