present build status;
authorwenzelm
Sat, 06 May 2017 20:00:29 +0200
changeset 65746 dead16007097
parent 65745 a124fbf8b2b9
child 65747 5a3052b2095f
present build status; tuned;
src/Pure/Admin/isabelle_cronjob.scala
--- a/src/Pure/Admin/isabelle_cronjob.scala	Sat May 06 20:00:08 2017 +0200
+++ b/src/Pure/Admin/isabelle_cronjob.scala	Sat May 06 20:00:29 2017 +0200
@@ -29,8 +29,9 @@
   val afp_source = "https://bitbucket.org/isa-afp/afp-devel"
 
   val devel_dir = Path.explode("~/html-data/devel")
-  val release_snapshot = devel_dir + Path.explode("release_snapshot")
-  val build_log_snapshot = devel_dir + Path.explode("build_log.db")
+  val release_snapshot_dir = devel_dir + Path.explode("release_snapshot")
+  val build_log_db = devel_dir + Path.explode("build_log.db")
+  val build_status_dir = devel_dir + Path.explode("build_status")
 
   val jenkins_jobs = "identify" :: Jenkins.build_log_jobs
 
@@ -50,8 +51,8 @@
           File.write(logger.log_dir + Build_Log.log_filename("isabelle_identify", logger.start_date),
             Build_Log.Identify.content(logger.start_date, Some(rev), Some(afp_rev)))
 
-          val new_snapshot = release_snapshot.ext("new")
-          val old_snapshot = release_snapshot.ext("old")
+          val new_snapshot = release_snapshot_dir.ext("new")
+          val old_snapshot = release_snapshot_dir.ext("old")
 
           Isabelle_System.rm_tree(new_snapshot)
           Isabelle_System.rm_tree(old_snapshot)
@@ -59,8 +60,8 @@
           Build_Release.build_release(base_dir, rev = rev, afp_rev = afp_rev,
             parallel_jobs = 4, remote_mac = "macbroy31", website = Some(new_snapshot))
 
-          if (release_snapshot.is_dir) File.move(release_snapshot, old_snapshot)
-          File.move(new_snapshot, release_snapshot)
+          if (release_snapshot_dir.is_dir) File.move(release_snapshot_dir, old_snapshot)
+          File.move(new_snapshot, release_snapshot_dir)
           Isabelle_System.rm_tree(old_snapshot)
         }))
 
@@ -175,11 +176,19 @@
     using(store.open_database())(db =>
     {
       store.update_database(db, database_dirs, ml_statistics = true)
-      store.snapshot_database(db, build_log_snapshot)
+      store.snapshot_database(db, build_log_db)
     })
   }
 
 
+  /* present build status */
+
+  def build_status(options: Options)
+  {
+    Build_Status.present_data(Build_Status.read_data(options), target_dir = build_status_dir)
+  }
+
+
 
   /** task logging **/
 
@@ -326,7 +335,8 @@
           SEQ(List(build_release, build_history_base,
             PAR(remote_builds.map(seq => SEQ(seq.map(remote_build_history(rev, _))))),
             Logger_Task("jenkins_logs", _ => Jenkins.download_logs(jenkins_jobs, main_dir)),
-            Logger_Task("build_log_database", logger => database_update(logger.options)))))))
+            Logger_Task("build_log_database", logger => database_update(logger.options)),
+            Logger_Task("build_status", logger => build_status(logger.options)))))))
 
     log_service.shutdown()