@@ -532,45 +532,31 @@ def get_nightly(build_log_url,build_log_response, job_platform):
532532 build_log_response: build log response.
533533 job_platform(string): Architecture (ppc64le or s390x or multi).
534534 Returns:
535- nightly( string): Nighlty image used.
535+ string : Nightly image used.
536536 '''
537-
538- if "upgrade" not in build_log_url :
539- nightly_log_re = re .compile ('(Resolved release {}-latest to (\S+))' .format (job_platform ), re .MULTILINE | re .DOTALL )
540- nightly_log_match = nightly_log_re .search (build_log_response .text )
541- if nightly_log_match is None :
542- rc_nightly_log_re = re .compile ('(Using explicitly provided pull-spec for release {}-latest \((\S+)\))' .format (job_platform ), re .MULTILINE | re .DOTALL )
543- rc_nightly_log_match = rc_nightly_log_re .search (build_log_response .text )
544- if rc_nightly_log_match is None :
545- nightly = "Unable to fetch nightly information- No match found"
546- else :
547- nightly = rc_nightly_log_match .group (2 )
548- else :
549- nightly = job_platform + "-latest-" + nightly_log_match .group (2 )
550- else :
551- nightly_initial_log_re = re .compile ('(Resolved release {}-initial to (\S+))' .format (job_platform ), re .MULTILINE | re .DOTALL )
552- nightly_initial_log_match = nightly_initial_log_re .search (build_log_response .text )
553- if nightly_initial_log_match is None :
554- nightly_initial_log_re = re .compile ('(Using explicitly provided pull-spec for release {}-initial \((\S+)\))' .format (job_platform ), re .MULTILINE | re .DOTALL )
555- nightly_initial_log_match = nightly_initial_log_re .search (build_log_response .text )
556- if nightly_initial_log_match is None :
557- nightly = " Unable to fetch nightly {}-initial information- No match found" .format (job_platform )
558- else :
559- nightly = job_platform + "-initial-" + nightly_initial_log_match .group (2 )
560- else :
561- nightly = job_platform + "-initial-" + nightly_initial_log_match .group (2 )
562- nightly_latest_log_re = re .compile ('(Resolved release {}-latest to (\S+))' .format (job_platform ), re .MULTILINE | re .DOTALL )
563- nightly_latest_log_match = nightly_latest_log_re .search (build_log_response .text )
564- if nightly_latest_log_match is None :
565- nightly_latest_log_re = re .compile ('(Using explicitly provided pull-spec for release {}-latest \((\S+)\))' .format (job_platform ), re .MULTILINE | re .DOTALL )
566- nightly_latest_log_match = nightly_latest_log_re .search (build_log_response .text )
567- if nightly_latest_log_match is None :
568- nightly = nightly + " Unable to fetch nightly {}-latest information- No match found" .format (job_platform )
569- else :
570- nightly = nightly + " " + job_platform + "-latest-" + nightly_latest_log_match .group (2 )
571- else :
572- nightly = nightly + " " + job_platform + "-latest-" + nightly_latest_log_match .group (2 )
573- return nightly
537+ phases = ["initial" , "latest" ] if "upgrade" in build_log_url else ["latest" ]
538+ results = []
539+
540+ for phase in phases :
541+ patterns = [
542+ rf"Resolved release { job_platform } -{ phase } to (\S+)" ,
543+ rf"Using explicitly provided pull-spec for release { job_platform } -{ phase } \((\S+)\)" ] if job_platform != "multi" else [
544+ rf"Resolved release { phase } to (\S+)" ,
545+ rf"Using explicitly provided pull-spec for release { phase } \((\S+)\)"
546+ ]
547+
548+ found = False
549+ for pattern in patterns :
550+ match = re .search (pattern , build_log_response .text , re .MULTILINE | re .DOTALL )
551+ if match :
552+ results .append (match .group (1 ))
553+ found = True
554+ break
555+
556+ if not found :
557+ results .append (f"Unable to fetch nightly { job_platform } -{ phase } information - No match found" )
558+
559+ return "\n " .join (results )
574560
575561def get_quota_and_nightly (spy_link ):
576562
0 commit comments