From aab2f39bb7ff330fbb01da4021c096e69a429d2e Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Mon, 14 Mar 2016 14:18:54 +1300 Subject: [PATCH] autobuild: Return the last 50 log lines This means that you don't have to deal with tars for quickly determining the cause of a failure. Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Tue Mar 22 11:39:38 CET 2016 on sn-devel-144 --- script/autobuild.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/script/autobuild.py b/script/autobuild.py index 4cad9203339..13be1b6a856 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -566,7 +566,7 @@ def send_email(subject, text, log_tar): s.quit() def email_failure(status, failed_task, failed_stage, failed_tag, errstr, - elapsed_time, log_base=None): + elapsed_time, log_base=None, add_log_tail=True): '''send an email to options.email about the failure''' elapsed_minutes = elapsed_time / 60.0 user = os.getenv("USER") @@ -604,6 +604,17 @@ The top commit for the tree that was built was: ''' % (log_base, failed_tag, log_base, failed_tag, log_base, top_commit_msg) + if add_log_tail: + f = open("%s/%s.stdout" % (log_base, failed_tag), 'r') + log_tail = "".join(f.readlines()[-50:]) + + text += ''' +The last 50 lines of log messages: + +%s + ''' % log_tail + f.close() + logs = os.path.join(gitroot, 'logs.tar.gz') send_email('autobuild failure on %s for task %s during %s' % (platform.node(), failed_task, failed_stage), -- 2.34.1