phase1: parallelize target/install phase
[buildbot.git] / phase1 / master.cfg
index 6d6bb7042f30817d270eada272c906b230f9d63f..908087e6714a37ade729a1c26121b4f1cfa7d12c 100644 (file)
@@ -48,6 +48,10 @@ c['mergeRequests'] = True
 ####### CHANGESOURCES
 
 home_dir = os.path.abspath(ini.get("general", "homedir"))
+tree_expire = 0
+
+if ini.has_option("general", "expire"):
+       tree_expire = ini.getint("general", "expire")
 
 repo_url = ini.get("repo", "url")
 
@@ -271,6 +275,21 @@ for target in targets:
                description = "Finding number of CPUs",
                command = ["nproc"]))
 
+       # expire tree if needed
+       if tree_expire > 0:
+               factory.addStep(FileDownload(
+                       mastersrc = "expire.sh",
+                       slavedest = "../expire.sh",
+                       mode = 0755))
+
+               factory.addStep(ShellCommand(
+                       name = "expire",
+                       description = "Checking for build tree expiry",
+                       command = ["./expire.sh", str(tree_expire)],
+                       workdir = ".",
+                       haltOnFailure = True,
+                       timeout = 2400))
+
        # check out the source
        factory.addStep(Git(repourl=repo_url, mode='update'))
 
@@ -285,6 +304,12 @@ for target in targets:
 #              description = "Copy the feeds.conf",
 #              command='''cp ~/feeds.conf ./feeds.conf''' ))
 
+       # feed
+       factory.addStep(ShellCommand(
+               name = "rmfeedlinks",
+               description = "Remove feed symlinks",
+               command=["rm", "-rf", "package/feeds/"]))
+
        # feed
        factory.addStep(ShellCommand(
                name = "updatefeeds",
@@ -436,7 +461,7 @@ EOT''' %(ts[0], ts[0], ts[1]) ))
        factory.addStep(ShellCommand(
                name = "images",
                description = "Building images",
-               command=["make", "-j1", "target/install", "V=s"],
+               command=["make", WithProperties("-j%(nproc:~4)s"), "target/install", "V=s"],
                doStepIf = isChangeBuiltin,
                haltOnFailure = True
        ))