CHANGED: build fail check routine (bBuildFail) 37/117537/3
authorJunghyun Kim <jh0822.kim@samsung.com>
Mon, 6 Mar 2017 09:40:32 +0000 (18:40 +0900)
committerJunghyun Kim <jh0822.kim@samsung.com>
Mon, 6 Mar 2017 10:33:39 +0000 (19:33 +0900)
Change-Id: I242a20a7e8379060368100bd36ab152913fef66a
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
job_pre_release_obs.py

index bbb4afb..362ab5f 100755 (executable)
@@ -409,6 +409,27 @@ def project_src_rpm_cleanup(live_repo_base, project):
                 print 'rm %s' % (os.path.join(root, filename))
                 os.remove(os.path.join(root, filename))
 
+def check_build_fail(unresolvable_broken_failed_status):
+    for repo in unresolvable_broken_failed_status:
+        for arch in unresolvable_broken_failed_status[repo]:
+            for p in unresolvable_broken_failed_status[repo][arch]:
+                if p[-10:] != "_aggregate":
+                    return True
+    return False
+
+def get_unresolvable_broken_packages(unresolvable_broken_failed_status):
+    unresolvable_broken_packages = {}
+
+    for repo in unresolvable_broken_failed_status:
+        unresolvable_broken_packages[repo] = {}
+        for arch in unresolvable_broken_failed_status[repo]:
+            unresolvable_broken_packages[repo][arch] = {}
+            for p in unresolvable_broken_failed_status[repo][arch]:
+                if unresolvable_broken_failed_status[repo][arch][p] in ("unresolvable", "broken"):
+                    unresolvable_broken_packages[repo][arch][p] = unresolvable_broken_failed_status[repo][arch][p]
+
+    return unresolvable_broken_packages
+
 def main(action):
     """Script entry point.
        Parameters:
@@ -448,11 +469,9 @@ def main(action):
         print 'buildstatus=%s' %(buildstatus)
         build.update_buildstatus(buildstatus,project)
         global bBuildFail
-        bBuildFail = False
-        for item in buildstatus['buildstatus']:
-            if item['code'] != 'succeeded':
-                print '\n**FATAL: Build not successful. Skip creating images.'
-                bBuildFail = True; break
+
+        unresolvable_broken_failed_status = build.get_package_build_result(project, ("unresolvable", "broken", "failed"))
+        bBuildFail = check_build_fail(unresolvable_broken_failed_status)
 
         if buildmonitor_enabled:
             bm_git_tag = info['git_tag']
@@ -464,7 +483,7 @@ def main(action):
                        "bm_git_tag" : bm_git_tag,
                        "bm_start_datetime": str(bm_start_datetime),
                        "bBuildFail": bBuildFail,
-                       "unresolvable_broken_packages": build.get_package_build_result(project, ["unresolvable", "broken"])
+                       "unresolvable_broken_packages": get_unresolvable_broken_packages(unresolvable_broken_failed_status)
                         }
             trigger_next("BUILD-MONITOR-1-%s" % bm_stage, bm_data)