aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-02-16 16:57:35 -0500
committerZack Weinberg <zackw@panix.com>2017-02-16 19:04:11 -0500
commitf0166c1643038e0ca42d300ddae36c00f400f4cf (patch)
tree5195821eda43d6bc8e2429a07d33761f1ba10c30
parentceaa98897cb717685bb3b51a81d733b64340bb19 (diff)
downloadglibc-f0166c1643038e0ca42d300ddae36c00f400f4cf.zip
glibc-f0166c1643038e0ca42d300ddae36c00f400f4cf.tar.gz
glibc-f0166c1643038e0ca42d300ddae36c00f400f4cf.tar.bz2
build-many-glibcs: don't crash if email is not configured
The 'bot-cycle' action for build-many-glibcs is a convenient way to not have to remember all the steps in keeping a many-glibcs tree up to date ... or it would be, if the script could send mail _optionally_. Make it so by skipping the mail step if mail isn't configured. * scripts/build-many-glibcs.py (bot_build_mail): If the bot_config does not contain all of the necessary email- related settings, just print a warning and continue.
-rw-r--r--ChangeLog6
-rwxr-xr-xscripts/build-many-glibcs.py10
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 514753d..17f9b16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2017-02-16 Zack Weinberg <zackw@panix.com>
+ * scripts/build-many-glibcs.py (bot_build_mail): If the
+ bot_config does not contain all of the necessary email-
+ related settings, just print a warning and continue.
+
+2017-02-16 Zack Weinberg <zackw@panix.com>
+
* crypt/md5.h: Test _LIBC with #if defined, not #if.
* dirent/opendir-tst1.c: Include sys/stat.h.
* dirent/tst-fdopendir.c: Include sys/stat.h.
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index d2947e6..4f724ce 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -122,6 +122,7 @@ class Context(object):
self.load_versions_json()
self.load_build_state_json()
self.status_log_list = []
+ self.email_warning = False
def get_script_text(self):
"""Return the text of this script."""
@@ -1003,6 +1004,15 @@ class Context(object):
def bot_build_mail(self, action, build_time):
"""Send email with the results of a build."""
+ if not ('email-from' in self.bot_config and
+ 'email-server' in self.bot_config and
+ 'email-subject' in self.bot_config and
+ 'email-to' in self.bot_config):
+ if not self.email_warning:
+ print("Email not configured, not sending.")
+ self.email_warning = True
+ return
+
build_time = build_time.replace(microsecond=0)
subject = (self.bot_config['email-subject'] %
{'action': action,