Title: [263267] trunk/Tools
Revision
263267
Author
aakash_j...@apple.com
Date
2020-06-19 08:31:10 -0700 (Fri, 19 Jun 2020)

Log Message

Improve handling of trac downtime by commit-queue
https://bugs.webkit.org/show_bug.cgi?id=213377

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py: Load contributors.json from disk when loading from trac fails.
(ValidateCommiterAndReviewer.load_contributors_from_disk):
(ValidateCommiterAndReviewer.load_contributors_from_trac):
(ValidateCommiterAndReviewer.load_contributors):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (263266 => 263267)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2020-06-19 15:28:56 UTC (rev 263266)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2020-06-19 15:31:10 UTC (rev 263267)
@@ -678,17 +678,32 @@
     url_text = '{}?format=txt'.format(url)
     contributors = {}
 
-    def load_contributors(self):
+    def load_contributors_from_disk(self):
+        cwd = os.path.abspath(os.path.dirname(__file__))
+        tools_dir_path = os.path.dirname(os.path.dirname(cwd))
+        contributors_path = os.path.join(tools_dir_path, 'Scripts/webkitpy/common/config/contributors.json')
         try:
+            return json.load(open(contributors_path))
+        except Exception as e:
+            self._addToLog('stdio', 'Failed to load {}\n'.format(contributors_path))
+            return {}
+
+    def load_contributors_from_trac(self):
+        try:
             response = requests.get(self.url_text)
             if response.status_code != 200:
                 self._addToLog('stdio', 'Failed to access {} with status code: {}\n'.format(self.url_text, response.status_code))
                 return {}
+            return response.json()
         except Exception as e:
             self._addToLog('stdio', 'Failed to access {url}\n'.format(url=""
             return {}
 
-        contributors_json = response.json()
+    def load_contributors(self):
+        contributors_json = self.load_contributors_from_trac()
+        if not contributors_json:
+            contributors_json = self.load_contributors_from_disk()
+
         contributors = {}
         for key, value in contributors_json.iteritems():
             emails = value.get('emails')

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (263266 => 263267)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py	2020-06-19 15:28:56 UTC (rev 263266)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py	2020-06-19 15:31:10 UTC (rev 263267)
@@ -24,6 +24,7 @@
 import operator
 import os
 import shutil
+import sys
 import tempfile
 
 from buildbot.process import remotetransfer
@@ -3425,7 +3426,12 @@
         self.expectOutcome(result=FAILURE, state_string='commit...@webkit.org does not have reviewer permissions')
         return self.runStep()
 
+    def test_load_contributors_from_disk(self):
+        ValidateCommiterAndReviewer._addToLog = lambda cls, logtype, log: sys.stdout.write(log)
+        contributors = ValidateCommiterAndReviewer().load_contributors_from_disk()
+        self.assertEqual(contributors['Aakash Jain']['nicks'], ['aakash_jain'])
 
+
 class TestCheckPatchStatusOnEWSQueues(BuildStepMixinAdditions, unittest.TestCase):
     def setUp(self):
         self.longMessage = True

Modified: trunk/Tools/ChangeLog (263266 => 263267)


--- trunk/Tools/ChangeLog	2020-06-19 15:28:56 UTC (rev 263266)
+++ trunk/Tools/ChangeLog	2020-06-19 15:31:10 UTC (rev 263267)
@@ -1,3 +1,16 @@
+2020-06-19  Aakash Jain  <aakash_j...@apple.com>
+
+        Improve handling of trac downtime by commit-queue
+        https://bugs.webkit.org/show_bug.cgi?id=213377
+
+        Reviewed by Jonathan Bedard.
+
+        * BuildSlaveSupport/ews-build/steps.py: Load contributors.json from disk when loading from trac fails.
+        (ValidateCommiterAndReviewer.load_contributors_from_disk):
+        (ValidateCommiterAndReviewer.load_contributors_from_trac):
+        (ValidateCommiterAndReviewer.load_contributors):
+        * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test
+
 2020-06-19  Lauro Moura  <lmo...@igalia.com>
 
         [WPE] Warn potential issues when creating WindowViewBackend
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to