--- 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"