Include pdf filenames into zuul config #40
@ -35,7 +35,7 @@ commands =
 | 
				
			|||||||
  {[testenv:json-{{ doc.type }}]commands}
 | 
					  {[testenv:json-{{ doc.type }}]commands}
 | 
				
			||||||
{%- endfor %}
 | 
					{%- endfor %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv:docs-pdf]
 | 
					[testenv:pdf-docs]
 | 
				
			||||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
					deps = -r{toxinidir}/doc/requirements.txt
 | 
				
			||||||
allowlist_externals =
 | 
					allowlist_externals =
 | 
				
			||||||
  rm
 | 
					  rm
 | 
				
			||||||
 | 
				
			|||||||
@ -130,6 +130,7 @@ def process_repositories(args, service):
 | 
				
			|||||||
        zuul_templates = None
 | 
					        zuul_templates = None
 | 
				
			||||||
        zuul_jobs = dict()
 | 
					        zuul_jobs = dict()
 | 
				
			||||||
        zuul_new_jobs = list()
 | 
					        zuul_new_jobs = list()
 | 
				
			||||||
 | 
					        zuul_vars = dict()
 | 
				
			||||||
        zuul_config_updated = False
 | 
					        zuul_config_updated = False
 | 
				
			||||||
        for item in zuul_config:
 | 
					        for item in zuul_config:
 | 
				
			||||||
            if "project" in item.keys():
 | 
					            if "project" in item.keys():
 | 
				
			||||||
@ -137,10 +138,11 @@ def process_repositories(args, service):
 | 
				
			|||||||
                zuul_templates = project.setdefault("templates", [])
 | 
					                zuul_templates = project.setdefault("templates", [])
 | 
				
			||||||
                if not zuul_templates:
 | 
					                if not zuul_templates:
 | 
				
			||||||
                    zuul_templates = []
 | 
					                    zuul_templates = []
 | 
				
			||||||
 | 
					                zuul_vars = project.setdefault("vars", {})
 | 
				
			||||||
            elif "job" in item.keys():
 | 
					            elif "job" in item.keys():
 | 
				
			||||||
                job = item["job"]
 | 
					                job = item["job"]
 | 
				
			||||||
                zuul_jobs[job["name"]] = 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:
 | 
					        if "helpcenter-base-jobs" not in zuul_templates:
 | 
				
			||||||
            zuul_templates.append("helpcenter-base-jobs")
 | 
					            zuul_templates.append("helpcenter-base-jobs")
 | 
				
			||||||
            zuul_config_updated = True
 | 
					            zuul_config_updated = True
 | 
				
			||||||
@ -148,6 +150,7 @@ def process_repositories(args, service):
 | 
				
			|||||||
        job_suffix = (
 | 
					        job_suffix = (
 | 
				
			||||||
            "-hc-int-jobs" if args.environment == "internal" else "-hc-jobs"
 | 
					            "-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"]):
 | 
					        for doc in data.docs_by_service_type(service["service_type"]):
 | 
				
			||||||
            logging.debug(f"Analyzing document {doc}")
 | 
					            logging.debug(f"Analyzing document {doc}")
 | 
				
			||||||
            if not doc.get("type"):
 | 
					            if not doc.get("type"):
 | 
				
			||||||
@ -156,6 +159,12 @@ def process_repositories(args, service):
 | 
				
			|||||||
                doc_type = "dev-guide"
 | 
					                doc_type = "dev-guide"
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                doc_type = doc["type"]
 | 
					                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}"
 | 
					            template_name = f"{doc_type}{job_suffix}"
 | 
				
			||||||
            if doc_type in ["api-ref", "umn", "dev-guide"]:
 | 
					            if doc_type in ["api-ref", "umn", "dev-guide"]:
 | 
				
			||||||
                if template_name not in zuul_templates:
 | 
					                if template_name not in zuul_templates:
 | 
				
			||||||
@ -190,6 +199,7 @@ def process_repositories(args, service):
 | 
				
			|||||||
                if "project" in item.keys():
 | 
					                if "project" in item.keys():
 | 
				
			||||||
                    project = item["project"]
 | 
					                    project = item["project"]
 | 
				
			||||||
                    project["templates"] = zuul_templates
 | 
					                    project["templates"] = zuul_templates
 | 
				
			||||||
 | 
					                    project["vars"] = zuul_vars
 | 
				
			||||||
                    # Ensure new jobs are in check
 | 
					                    # Ensure new jobs are in check
 | 
				
			||||||
                    if len(zuul_new_jobs) > 0:
 | 
					                    if len(zuul_new_jobs) > 0:
 | 
				
			||||||
                        project.setdefault(
 | 
					                        project.setdefault(
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user