From ec59663c394d53a8cba0cb296c857ce112f78876 Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Thu, 23 Feb 2023 15:36:56 +0100 Subject: [PATCH] Include pdf filenames into zuul config Zuul jobs expect to know PDF filenames to be fetching from artifacts. Best way is to include them into the project config while managing zuul config. --- tools/update_zuul_project_configs.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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(