Modified: trunk/Tools/BuildSlaveSupport/ews-build/send_email.py (267704 => 267705)
--- trunk/Tools/BuildSlaveSupport/ews-build/send_email.py 2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/BuildSlaveSupport/ews-build/send_email.py 2020-09-28 17:46:39 UTC (rev 267705)
@@ -29,11 +29,13 @@
is_test_mode_enabled = os.getenv('BUILDBOT_PRODUCTION') is None
FROM_EMAIL = '[email protected]'
+IGALIA_JSC_QUEUES_PATTERNS = ['armv7', 'mips', 'i386']
+IGALIA_GTK_WPE_QUEUES_PATTERNS = ['gtk', 'wpe']
SERVER = 'localhost'
def get_email_ids(category):
- # Valid categories: 'ADMIN_EMAILS', 'BOT_WATCHERS_EMAILS', 'EMAIL_IDS_TO_UNSUBSCRIBE'
+ # Valid categories: 'ADMIN_EMAILS', 'APPLE_BOT_WATCHERS_EMAILS', 'EMAIL_IDS_TO_UNSUBSCRIBE' etc.
try:
emails = json.load(open('emails.json'))
return emails.get(category, [])
@@ -78,9 +80,9 @@
send_email([author_email], subject, text, reference)
-def send_email_to_bot_watchers(subject, text, reference=''):
- send_email(get_email_ids('BOT_WATCHERS_EMAILS'), subject, text, reference)
-
-
-def send_email_to_igalia_jsc_team(subject, text, reference=''):
- send_email(get_email_ids('IGALIA_JSC_TEAM_EMAILS'), subject, text, reference)
+def send_email_to_bot_watchers(subject, text, builder_name, reference=''):
+ send_email(get_email_ids('APPLE_BOT_WATCHERS_EMAILS'), subject, text, reference)
+ if any(pattern in builder_name.lower() for pattern in IGALIA_JSC_QUEUES_PATTERNS):
+ send_email(get_email_ids('IGALIA_JSC_TEAM_EMAILS'), subject, text, reference)
+ if any(pattern in builder_name.lower() for pattern in IGALIA_GTK_WPE_QUEUES_PATTERNS):
+ send_email(get_email_ids('IGALIA_GTK_WPE_EMAILS'), subject, text, reference)
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (267704 => 267705)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-09-28 17:46:39 UTC (rev 267705)
@@ -30,7 +30,7 @@
from twisted.internet import defer
from layout_test_failures import LayoutTestFailures
-from send_email import send_email_to_patch_author, send_email_to_bot_watchers, send_email_to_igalia_jsc_team
+from send_email import send_email_to_patch_author, send_email_to_bot_watchers
import json
import re
@@ -42,7 +42,6 @@
S3_RESULTS_URL = 'https://ews-build.s3-us-west-2.amazonaws.com/'
EWS_BUILD_URL = 'https://ews-build.webkit.org/'
EWS_URL = 'https://ews.webkit.org/'
-IGALIA_JSC_QUEUES_PATTERNS = ['armv7', 'mips', 'i386']
RESULTS_DB_URL = 'https://results.webkit.org/'
WithProperties = properties.WithProperties
Interpolate = properties.Interpolate
@@ -1548,9 +1547,8 @@
if logs:
logs = logs.replace('&', '&').replace('<', '<').replace('>', '>')
email_text += u'\n\nError lines:\n\n<code>{}</code>'.format(logs)
- send_email_to_bot_watchers(email_subject, email_text, 'preexisting-build-failure-{}-{}'.format(builder_name, date.today().strftime("%Y-%d-%m")))
- if any(pattern in builder_name.lower() for pattern in IGALIA_JSC_QUEUES_PATTERNS):
- send_email_to_igalia_jsc_team(email_subject, email_text, 'preexisting-build-failure-{}-{}'.format(builder_name, date.today().strftime("%Y-%d-%m")))
+ reference = 'preexisting-build-failure-{}-{}'.format(builder_name, date.today().strftime("%Y-%d-%m"))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, reference)
except Exception as e:
print('Error in sending email for build failure: {}'.format(e))
@@ -1800,7 +1798,7 @@
email_subject = u'Flaky test: {}'.format(test_name)
email_text = 'Flaky test: {}\n\nBuild: {}\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'flaky-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'flaky-{}'.format(test_name))
except Exception as e:
print('Error in sending email for flaky failure: {}'.format(e))
@@ -1813,9 +1811,7 @@
email_subject = u'Pre-existing test failure: {}'.format(test_name)
email_text = 'Test {} failed on clean tree run in {}.\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'preexisting-{}'.format(test_name))
- if any(pattern in builder_name.lower() for pattern in IGALIA_JSC_QUEUES_PATTERNS):
- send_email_to_igalia_jsc_team(email_subject, email_text, 'preexisting-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'preexisting-{}'.format(test_name))
except Exception as e:
print('Error in sending email for pre-existing failure: {}'.format(e))
@@ -2101,7 +2097,7 @@
email_subject = u'Flaky test: {}'.format(test_name)
email_text = 'Test {} flaked in {}\n\nBuilder: {}'.format(test_name, build_url, builder_name)
email_text = 'Flaky test: {}\n\nBuild: {}\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'flaky-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'flaky-{}'.format(test_name))
except Exception as e:
# Catching all exceptions here to ensure that failure to send email doesn't impact the build
print('Error in sending email for flaky failures: {}'.format(e))
@@ -2210,7 +2206,7 @@
email_subject = u'Flaky test: {}'.format(test_name)
email_text = 'Flaky test: {}\n\nBuild: {}\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'flaky-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'flaky-{}'.format(test_name))
except Exception as e:
print('Error in sending email for flaky failure: {}'.format(e))
@@ -2223,7 +2219,7 @@
email_subject = u'Pre-existing test failure: {}'.format(test_name)
email_text = 'Test {} failed on clean tree run in {}.\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'preexisting-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'preexisting-{}'.format(test_name))
except Exception as e:
print('Error in sending email for pre-existing failure: {}'.format(e))
@@ -2677,7 +2673,7 @@
email_subject = u'Flaky test: {}'.format(test_name)
email_text = 'Flaky test: {}\n\nBuild: {}\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'flaky-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'flaky-{}'.format(test_name))
except Exception as e:
print('Error in sending email for flaky failure: {}'.format(e))
@@ -2690,7 +2686,7 @@
email_subject = u'Pre-existing test failure: {}'.format(test_name)
email_text = 'Test {} failed on clean tree run in {}.\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
- send_email_to_bot_watchers(email_subject, email_text, 'preexisting-{}'.format(test_name))
+ send_email_to_bot_watchers(email_subject, email_text, builder_name, 'preexisting-{}'.format(test_name))
except Exception as e:
print('Error in sending email for pre-existing failure: {}'.format(e))
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (267704 => 267705)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-09-28 17:46:39 UTC (rev 267705)
@@ -52,9 +52,6 @@
Trigger, TransferToS3, UnApplyPatchIfRequired, UpdateWorkingDirectory, UploadBuiltProduct,
UploadTestResults, ValidateCommiterAndReviewer, ValidatePatch)
-import send_email
-send_email.BOT_WATCHERS_EMAILS = []
-
# Workaround for https://github.com/buildbot/buildbot/issues/4669
from buildbot.test.fake.fakebuild import FakeBuild
FakeBuild.addStepsAfterCurrentStep = lambda FakeBuild, step_factories: None
@@ -1453,6 +1450,8 @@
self.setProperty('jsc_rerun_binary_failures', [])
self.setProperty('jsc_clean_tree_stress_test_failures', [])
self.setProperty('jsc_clean_tree_binary_failures', [])
+ AnalyzeJSCTestsResults.send_email_for_flaky_failure = lambda self, test: None
+ AnalyzeJSCTestsResults.send_email_for_pre_existing_failure = lambda self, test: None
def test_single_new_stress_failure(self):
self.configureStep()