1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

autobuild: Add --always-email option.

This commit is contained in:
Jelmer Vernooij 2010-10-01 11:28:48 +02:00
parent 0866e2dad2
commit 7210c95e60

View File

@ -319,6 +319,8 @@ parser.add_option("", "--retry", help="automatically retry if master changes",
default=False, action="store_true") default=False, action="store_true")
parser.add_option("", "--email", help="send email to the given address on failure", parser.add_option("", "--email", help="send email to the given address on failure",
type='str', default=None) type='str', default=None)
parser.add_option("", "--always-email", help="always send email, even on success",
action="store_true")
parser.add_option("", "--daemon", help="daemonize after initial setup", parser.add_option("", "--daemon", help="daemonize after initial setup",
action="store_true") action="store_true")
@ -354,6 +356,35 @@ or you can get full logs of all tasks in this job here:
s.sendmail(msg['From'], [msg['To']], msg.as_string()) s.sendmail(msg['From'], [msg['To']], msg.as_string())
s.quit() s.quit()
def email_success():
'''send an email to options.email about a successful build'''
user = os.getenv("USER")
text = '''
Dear Developer,
Your autobuild has succeeded.
'''
if options.keeplogs:
text += '''
you can get full logs of all tasks in this job here:
http://git.samba.org/%s/samba-autobuild/logs.tar.gz
''' % (user,)
msg = MIMEText(text)
msg['Subject'] = 'autobuild success'
msg['From'] = 'autobuild@samba.org'
msg['To'] = options.email
s = smtplib.SMTP()
s.connect()
s.sendmail(msg['From'], [msg['To']], msg.as_string())
s.quit()
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
if options.retry: if options.retry:
@ -420,6 +451,8 @@ if status == 0:
if options.keeplogs: if options.keeplogs:
blist.tarlogs("logs.tar.gz") blist.tarlogs("logs.tar.gz")
print("Logs in logs.tar.gz") print("Logs in logs.tar.gz")
if options.always_email:
email_success()
blist.remove_logs() blist.remove_logs()
cleanup() cleanup()
print(errstr) print(errstr)