Title: [267705] trunk/Tools
Revision
267705
Author
[email protected]
Date
2020-09-28 10:46:39 -0700 (Mon, 28 Sep 2020)

Log Message

Notify igalia team about pre-existing test failures and build failures for WPE and GTK queues
https://bugs.webkit.org/show_bug.cgi?id=217052

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/send_email.py:
(send_email_to_bot_watchers): Moved the logic here to determine whether to email igalia folks.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Passed builder_name parameter.
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults.configureStep): Drive-by fix to improve unit-test.
* BuildSlaveSupport/ews-build/emails.json: Added IGALIA_GTK_WPE_EMAILS. Renamed BOT_WATCHERS_EMAILS to APPLE_BOT_WATCHERS_EMAILS.
* BuildSlaveSupport/ews-build/email_unittest.py: Updated unit-test.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-build/email_unittest.py (267704 => 267705)


--- trunk/Tools/BuildSlaveSupport/ews-build/email_unittest.py	2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/BuildSlaveSupport/ews-build/email_unittest.py	2020-09-28 17:46:39 UTC (rev 267705)
@@ -36,7 +36,7 @@
     def test_emails_json_required_categories_present(self):
         cwd = os.path.dirname(os.path.abspath(__file__))
         emails = json.load(open(os.path.join(cwd, 'emails.json')))
-        valid_email_categories = ['ADMIN_EMAILS', 'BOT_WATCHERS_EMAILS', 'EMAIL_IDS_TO_UNSUBSCRIBE']
+        valid_email_categories = ['ADMIN_EMAILS', 'APPLE_BOT_WATCHERS_EMAILS', 'EMAIL_IDS_TO_UNSUBSCRIBE', 'IGALIA_JSC_TEAM_EMAILS', 'IGALIA_GTK_WPE_EMAILS']
         for category in valid_email_categories:
             self.assertTrue(category in emails.keys())
 

Modified: trunk/Tools/BuildSlaveSupport/ews-build/emails.json (267704 => 267705)


--- trunk/Tools/BuildSlaveSupport/ews-build/emails.json	2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/BuildSlaveSupport/ews-build/emails.json	2020-09-28 17:46:39 UTC (rev 267705)
@@ -3,11 +3,14 @@
       "[email protected]", 
       "[email protected]"
   ],
-  "BOT_WATCHERS_EMAILS": [
+  "APPLE_BOT_WATCHERS_EMAILS": [
       "[email protected]"
   ],
   "IGALIA_JSC_TEAM_EMAILS": [
       "[email protected]"
   ],
+  "IGALIA_GTK_WPE_EMAILS": [
+      "[email protected]"
+  ],
   "EMAIL_IDS_TO_UNSUBSCRIBE": ["[email protected]"]
 }

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('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
                 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()

Modified: trunk/Tools/ChangeLog (267704 => 267705)


--- trunk/Tools/ChangeLog	2020-09-28 17:07:12 UTC (rev 267704)
+++ trunk/Tools/ChangeLog	2020-09-28 17:46:39 UTC (rev 267705)
@@ -1,3 +1,26 @@
+2020-09-28  Aakash Jain  <[email protected]>
+
+        Notify igalia team about pre-existing test failures and build failures for WPE and GTK queues
+        https://bugs.webkit.org/show_bug.cgi?id=217052
+
+        Reviewed by Jonathan Bedard.
+
+        * BuildSlaveSupport/ews-build/send_email.py:
+        (send_email_to_bot_watchers): Moved the logic here to determine whether to email igalia folks.
+        * BuildSlaveSupport/ews-build/steps.py:
+        (AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Passed builder_name parameter.
+        (AnalyzeJSCTestsResults.send_email_for_flaky_failure):
+        (AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
+        (ReRunWebKitTests.send_email_for_flaky_failure):
+        (AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
+        (AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
+        (AnalyzeAPITestsResults.send_email_for_flaky_failure):
+        (AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
+        * BuildSlaveSupport/ews-build/steps_unittest.py:
+        (TestAnalyzeJSCTestsResults.configureStep): Drive-by fix to improve unit-test.
+        * BuildSlaveSupport/ews-build/emails.json: Added IGALIA_GTK_WPE_EMAILS. Renamed BOT_WATCHERS_EMAILS to APPLE_BOT_WATCHERS_EMAILS.
+        * BuildSlaveSupport/ews-build/email_unittest.py: Updated unit-test.
+
 2020-09-28  Matt Lewis  <[email protected]>
 
         Unreviewed dashboard fix.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to