diff options
Diffstat (limited to 'build.py')
-rwxr-xr-x | build.py | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -31,12 +31,17 @@ def do_build(source, version, architecture, server): now.strftime("%Y%m%d%H%M%S")) cmdline = ["ssh", server, "sh", "/dev/stdin", architecture, "%s_%s" % (source, version)] - with open(os.path.join("logs", logtarget), "w+b") as output: + logname = os.path.join("logs", logtarget) + with open(logname, "w+b") as output: with open("build.sh", "rb") as instructions: code = subprocess.call(cmdline, stdin=instructions, stdout=output) output.seek(0) status = scan_log_status(output) - print("status %s code %d" % (status, code)) + if code == 255: + os.unlink(logname) + time.sleep(300) + raise RuntimeError("ssh failed") + print("status %s code %d" % (status, code)) return (now, code == 0, logtarget, status == "given-back") def main(): |