diff --git a/tools/update_zuul_project_configs.py b/tools/update_zuul_project_configs.py index 4fe5374b..ff3e0727 100644 --- a/tools/update_zuul_project_configs.py +++ b/tools/update_zuul_project_configs.py @@ -130,6 +130,7 @@ def process_repositories(args, service): zuul_templates = None zuul_jobs = dict() zuul_new_jobs = list() + zuul_vars = dict() zuul_config_updated = False for item in zuul_config: if "project" in item.keys(): @@ -137,10 +138,11 @@ def process_repositories(args, service): zuul_templates = project.setdefault("templates", []) if not zuul_templates: zuul_templates = [] + zuul_vars = project.setdefault("vars", {}) elif "job" in item.keys(): job = item["job"] zuul_jobs[job["name"]] = job - print(f"Existing jobs {zuul_jobs}") + logging.debug(f"Existing jobs {zuul_jobs}") if "helpcenter-base-jobs" not in zuul_templates: zuul_templates.append("helpcenter-base-jobs") zuul_config_updated = True @@ -148,6 +150,7 @@ def process_repositories(args, service): job_suffix = ( "-hc-int-jobs" if args.environment == "internal" else "-hc-jobs" ) + sphinx_pdf_files = zuul_vars.setdefault('sphinx_pdf_files', []) for doc in data.docs_by_service_type(service["service_type"]): logging.debug(f"Analyzing document {doc}") if not doc.get("type"): @@ -156,6 +159,12 @@ def process_repositories(args, service): doc_type = "dev-guide" else: doc_type = doc["type"] + # Collect all PDF files into sphinx_pdf_files var + pdf_name = doc.get('pdf_name') + if pdf_name and f"{pdf_name}.pdf" not in sphinx_pdf_files: + sphinx_pdf_files.append(f"{pdf_name}.pdf") + zuul_config_updated = True + template_name = f"{doc_type}{job_suffix}" if doc_type in ["api-ref", "umn", "dev-guide"]: if template_name not in zuul_templates: @@ -190,6 +199,7 @@ def process_repositories(args, service): if "project" in item.keys(): project = item["project"] project["templates"] = zuul_templates + project["vars"] = zuul_vars # Ensure new jobs are in check if len(zuul_new_jobs) > 0: project.setdefault(