Include pdf filenames into zuul config
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				gl/check check status: success (e929d4bfe8caf28aa96be1dc2ee91f64c1d38b73)
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	gl/check check status: success (e929d4bfe8caf28aa96be1dc2ee91f64c1d38b73)
				
			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.
This commit is contained in:
		@ -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 pdf_name 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