merged
authorwenzelm
Tue, 30 Jan 2024 21:47:37 +0100
changeset 79552 f1c754e60ea0
parent 79544 50ee2921da94 (current diff)
parent 79551 333cef4a811e (diff)
child 79553 2ff1c4b92e24
merged
--- a/src/Pure/Admin/build_history.scala	Tue Jan 30 16:39:21 2024 +0000
+++ b/src/Pure/Admin/build_history.scala	Tue Jan 30 21:47:37 2024 +0100
@@ -537,6 +537,7 @@
     components_base: String = Components.dynamic_components_base,
     clean_platform: Boolean = false,
     clean_archives: Boolean = false,
+    shared_isabelle_self: Boolean = false,
     progress: Progress = new Progress,
     rev: String = "",
     afp_repos: Option[Path] = None,
@@ -556,7 +557,7 @@
         rev = rev, afp_rev = afp_rev, afp_root = if (afp) afp_repos else None)
     }
 
-    sync(isabelle_self)
+    if (!shared_isabelle_self) sync(isabelle_self)
 
     val self_isabelle =
       Other_Isabelle(isabelle_self, isabelle_identifier = isabelle_identifier,
@@ -564,7 +565,7 @@
 
     val clean_platforms = if (clean_platform) Some(List(ssh.isabelle_platform_family)) else None
 
-    self_isabelle.init(fresh = true, echo = true,
+    self_isabelle.init(fresh = !shared_isabelle_self, echo = true,
       component_repository = component_repository,
       other_settings = self_isabelle.init_components(components_base = components_base),
       clean_platforms = clean_platforms,
--- a/src/Pure/Admin/isabelle_cronjob.scala	Tue Jan 30 16:39:21 2024 +0000
+++ b/src/Pure/Admin/isabelle_cronjob.scala	Tue Jan 30 21:47:37 2024 +0100
@@ -129,6 +129,7 @@
     history_base: String = "build_history_base",
     components_base: String = Components.dynamic_components_base,
     clean_components: Boolean = true,
+    shared_isabelle_self: Boolean = false,
     java_heap: String = "",
     options: String = "",
     args: String = "",
@@ -295,9 +296,11 @@
 
   val remote_builds1: List[List[Remote_Build]] = {
     List(
-      List(Remote_Build("Linux (ARM)", "server-arm",
+      List(Remote_Build("Linux (ARM)", "linux-arm",
         history_base = "build_history_base_arm",
-        options = "-m32 -B -M1x2 -p timeout_scale=2" +
+        clean_components = false,
+        shared_isabelle_self = true,
+        options = "-m32 -B -M1x2 -U 4000 -p timeout_scale=2" +
           " -e ISABELLE_SWIPL=swipl",
         args = "-a -d '~~/src/Benchmarks'")),
       List(Remote_Build("Linux B", "lxbroy10", history = 90,
@@ -406,6 +409,7 @@
               components_base = r.components_base,
               clean_platform = r.clean_components,
               clean_archives = r.clean_components,
+              shared_isabelle_self = r.shared_isabelle_self,
               rev = rev,
               afp_repos = if (afp_rev.isDefined) Some(afp_repos) else None,
               afp_rev = afp_rev.getOrElse(""),
@@ -476,8 +480,7 @@
         res match {
           case Exn.Res(_) => None
           case Exn.Exn(exn) =>
-            Output.writeln("Exception trace for " + quote(task.name) + ":")
-            exn.printStackTrace()
+            Output.writeln("Exception trace for " + quote(task.name) + ":\n" + Exn.trace(exn))
             val first_line = split_lines(Exn.message(exn)).headOption getOrElse "exception"
             Some(first_line)
         }
--- a/src/Pure/System/isabelle_platform.scala	Tue Jan 30 16:39:21 2024 +0000
+++ b/src/Pure/System/isabelle_platform.scala	Tue Jan 30 21:47:37 2024 +0100
@@ -39,7 +39,6 @@
     settings.collectFirst({ case (a, b) if a == name => b }).
       getOrElse(error("Bad platform settings variable: " + quote(name)))
 
-  val ISABELLE_PLATFORM_FAMILY: String = get("ISABELLE_PLATFORM_FAMILY")
   val ISABELLE_PLATFORM64: String = get("ISABELLE_PLATFORM64")
   val ISABELLE_WINDOWS_PLATFORM64: String = get("ISABELLE_WINDOWS_PLATFORM64")
   val ISABELLE_APPLE_PLATFORM64: String = get("ISABELLE_APPLE_PLATFORM64")
@@ -48,6 +47,11 @@
     ISABELLE_PLATFORM64.startsWith("arm64-") ||
     ISABELLE_APPLE_PLATFORM64.startsWith("arm64-")
 
+  val ISABELLE_PLATFORM_FAMILY: String = {
+    val family0 = get("ISABELLE_PLATFORM_FAMILY")
+    if (family0 == "linux" && is_arm) "linux_arm" else family0
+  }
+
   def is_linux: Boolean =
     ISABELLE_PLATFORM_FAMILY == "linux" ||
     ISABELLE_PLATFORM_FAMILY == "linux_arm"