summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-03-06 10:07:35 +0000
committerGerrit Code Review <review@openstack.org>2023-03-06 10:07:35 +0000
commitd6d592f5a75d6ee50a67115230698501a5cd0b24 (patch)
tree88373a3e0707eac192a3c2790e797f596baa2e7d
parentfb6ab87d27b021d923a838627d98583ea47e2242 (diff)
parentef281ec9b68c975b6f7d3f5188507b68a108e55a (diff)
downloadzuul-d6d592f5a75d6ee50a67115230698501a5cd0b24.tar.gz
Merge "Use buildset merger items to collect extra config"
-rw-r--r--zuul/manager/__init__.py26
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,