Now supports the action "build_progress". 20/98820/2
authorJunghyun Kim <jh0822.kim@samsung.com>
Mon, 21 Nov 2016 02:52:30 +0000 (11:52 +0900)
committerJunghyun Kim <jh0822.kim@samsung.com>
Mon, 21 Nov 2016 03:02:24 +0000 (12:02 +0900)
"HOME" is changed to "WORKSPACE"

Change-Id: I3963d57fa5e736b5a6d33ebca1bffab0a0dd019d
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
job_make_dep_graph.py

index 905cff1..962edbc 100644 (file)
@@ -35,7 +35,77 @@ class LocalError(Exception):
     """Local error exception."""
     pass
 
-def create_build_progress_dep_graph(build, obs_project, backenddb, content):
+def create_build_progress_dep_graph(build, obs_project, content):
+    sync_out_dir = os.path.join(os.getenv('WORKSPACE'), 'outdir')
+
+    sync_dest = os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph",
+                             content.get("build_project_id"),
+                             obs_project)
+
+    print "sync_dest = %s" % sync_dest
+
+    graph_root_dir = os.path.join(sync_out_dir)
+    print "graph_root_dir = %s" % graph_root_dir
+
+    #make directories if not existed.
+    os.makedirs(sync_out_dir)
+    sync(sync_out_dir, os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph"))
+
+    sync(sync_out_dir, os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph", content.get("build_project_id")))
+
+    sync(sync_out_dir, os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph", content.get("build_project_id"),
+                             obs_project))
+
+    # copy vis and dep_graph dirs.
+    vis_dir = os.path.join(os.getenv("WORKSPACE"), "jenkins-scripts/vis")
+    vis_sync_dest = os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph/vis")
+    sync(vis_dir, vis_sync_dest)
+
+    dep_graph_dir = os.path.join(os.getenv("WORKSPACE"), "jenkins-scripts/dep_graph")
+    dep_graph_sync_dest = os.path.join(os.getenv('IMG_SYNC_DEST_BASE'),
+                             ".dep_graph/dep_graph")
+    sync(dep_graph_dir, dep_graph_sync_dest)
+
+    vis_dir = "../../../../vis"
+    dep_graph_dir = "../../../../dep_graph"
+    template_filename="jenkins-scripts/common/dep_graph.php.template_simple"
+
+    repo = content.get("repo")
+    arch = content.get("arch")
+
+    packages_to_be_built = [];
+    if re.match("^home:prerelease:", obs_project):
+      info=build.get_info(obs_project)
+      packages_to_be_built = info['packages']
+
+    xml = build.get_dependson(obs_project, repo, arch, None, None)
+    graph_dest_dir = os.path.join(graph_root_dir, repo, arch)
+    if not os.path.exists(graph_dest_dir):
+        os.makedirs(graph_dest_dir)
+    filename = os.path.join(graph_root_dir, repo, arch, "builddepinfo.xml")
+    with open(filename, 'w') as xml_file:
+        xml_file.write(xml)
+
+    set_obs_environment(os.getenv("OBS_API_URL"),
+                        os.getenv("OBS_API_USERNAME"),
+                        os.getenv("OBS_API_PASSWD"),
+                        obs_project,
+                        repo, 
+                        arch)
+
+    make_dep_graph(filename, graph_dest_dir, 
+                   vis_dir, dep_graph_dir, template_filename,
+                   packages_to_be_built)
+
+    # sync to donwload server
+    sync(sync_out_dir, sync_dest)
+
+def create_build_progress_dep_graph_post(build, obs_project, backenddb, content):
     print "creating build_progress_dep_graph..."
 
     sync_out_dir = os.path.join(os.getenv('WORKSPACE'),
@@ -102,7 +172,7 @@ def create_build_progress_dep_graph(build, obs_project, backenddb, content):
     template_filename="jenkins-scripts/common/dep_graph.php.template_simple"
 
     # copy vis and dep_graph dirs.
-    jenkins_script_dir = os.path.join(os.getenv("HOME"), "jenkins-scripts");
+    jenkins_script_dir = os.path.join(os.getenv("WORKSPACE"), "jenkins-scripts");
     shutil.copytree(os.path.join(jenkins_script_dir,"vis"), os.path.join(graph_root_dir, "vis"));
     shutil.copytree(os.path.join(jenkins_script_dir,"dep_graph"), os.path.join(graph_root_dir, "dep_graph"));
 
@@ -171,7 +241,7 @@ def create_build_progress_dep_graph_prerelease(build, obs_project, obs_linked_pr
     template_filename="jenkins-scripts/common/dep_graph.php.template_simple"
 
     # copy vis and dep_graph dirs.
-    jenkins_script_dir = os.path.join(os.getenv("HOME"), "jenkins-scripts");
+    jenkins_script_dir = os.path.join(os.getenv("WORKSPACE"), "jenkins-scripts");
     shutil.copytree(os.path.join(jenkins_script_dir,"vis"), os.path.join(graph_root_dir, "vis"));
     shutil.copytree(os.path.join(jenkins_script_dir,"dep_graph"), os.path.join(graph_root_dir, "dep_graph"));
 
@@ -223,7 +293,7 @@ def create_build_dep_graph(build, obs_project, backenddb, content):
         #print package_build_result
 
     # copy vis and dep_graph dirs.
-    jenkins_script_dir = os.path.join(os.getenv("HOME"), "jenkins-scripts");
+    jenkins_script_dir = os.path.join(os.getenv("WORKSPACE"), "jenkins-scripts");
     shutil.copytree(os.path.join(jenkins_script_dir,"vis"), os.path.join(graph_root_dir, "vis"));
     shutil.copytree(os.path.join(jenkins_script_dir,"dep_graph"), os.path.join(graph_root_dir, "dep_graph"));
 
@@ -291,7 +361,9 @@ def main():
     if action == "prerelease_build_progress":
         create_build_progress_dep_graph_prerelease(build, obs_project, obs_linked_project, backenddb)
     elif action == "postrelease_build_progress":
-        create_build_progress_dep_graph(build, obs_project, backenddb, content)
+        create_build_progress_dep_graph_post(build, obs_project, backenddb, content)
+    elif action == "build_progress":
+        create_build_progress_dep_graph(build, obs_project, content)
     elif action == "build_dep_graph":
         create_build_dep_graph(build, obs_project, backenddb, content)
     else: