chiark / gitweb /
Merge branch 'build-36h' into 'master'
[fdroidserver.git] / fdroidserver / build.py
index 116da5bb766dfa3c2a510391e716d5509554bf27..41fb2251399dcf304e2676b7c8cf6d551c4a8550 100644 (file)
@@ -73,7 +73,7 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
     else:
         logging.getLogger("paramiko").setLevel(logging.WARN)
 
-    sshinfo = vmtools.get_clean_builder('builder')
+    sshinfo = vmtools.get_clean_builder('builder', options.reset_server)
 
     try:
         if not buildserverid:
@@ -935,7 +935,7 @@ def parse_commandline():
                         help=_("Test mode - put output in the tmp directory only, and always build, even if the output already exists."))
     parser.add_argument("--server", action="store_true", default=False,
                         help=_("Use build server"))
-    parser.add_argument("--resetserver", action="store_true", default=False,
+    parser.add_argument("--reset-server", action="store_true", default=False,
                         help=_("Reset and create a brand new build server, even if the existing one appears to be ok."))
     parser.add_argument("--on-server", dest="onserver", action="store_true", default=False,
                         help=_("Specify that we're running on the build server"))
@@ -1005,8 +1005,8 @@ def main():
 
     if config['build_server_always']:
         options.server = True
-    if options.resetserver and not options.server:
-        parser.error("option %s: Using --resetserver without --server makes no sense" % "resetserver")
+    if options.reset_server and not options.server:
+        parser.error("option %s: Using --reset-server without --server makes no sense" % "reset-server")
 
     log_dir = 'logs'
     if not os.path.isdir(log_dir):
@@ -1082,8 +1082,8 @@ def main():
     # Build applications...
     failed_apps = {}
     build_succeeded = []
-    # Only build for 12 hours, then stop gracefully
-    endtime = time.time() + 12 * 60 * 60
+    # Only build for 36 hours, then stop gracefully.
+    endtime = time.time() + 36 * 60 * 60
     max_build_time_reached = False
     for appid, app in apps.items():
 
@@ -1102,6 +1102,7 @@ def main():
             if options.server and timeout > 0:
                 logging.debug(_('Setting {0} sec timeout for this build').format(timeout))
                 timer = threading.Timer(timeout, force_halt_build, [timeout])
+                timeout_event.clear()
                 timer.start()
             else:
                 timer = None