Title: [273000] trunk/Tools
- Revision
- 273000
- Author
- aakash_j...@apple.com
- Date
- 2021-02-17 08:23:18 -0800 (Wed, 17 Feb 2021)
Log Message
commit-queue should retry when it fails to commit
https://bugs.webkit.org/show_bug.cgi?id=222038
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo):
(PushCommitToWebKitRepo.evaluateCommand):
* CISupport/ews-build/steps_unittest.py:
Modified Paths
Diff
Modified: trunk/Tools/CISupport/ews-build/steps.py (272999 => 273000)
--- trunk/Tools/CISupport/ews-build/steps.py 2021-02-17 16:16:20 UTC (rev 272999)
+++ trunk/Tools/CISupport/ews-build/steps.py 2021-02-17 16:23:18 UTC (rev 273000)
@@ -3076,6 +3076,7 @@
command = ['git', 'svn', 'dcommit', '--rmdir']
commit_success_regexp = '^Committed r(?P<svn_revision>\d+)$'
haltOnFailure = False
+ MAX_RETRY = 2
def __init__(self, **kwargs):
shell.ShellCommand.__init__(self, timeout=5 * 60, logEnviron=False, **kwargs)
@@ -3097,6 +3098,12 @@
self.build.addStepsAfterCurrentStep([CommentOnBug(), RemoveFlagsOnPatch(), CloseBug()])
self.addURL('r{}'.format(svn_revision), self.url_for_revision(svn_revision))
else:
+ retry_count = int(self.getProperty('retry_count', 0))
+ if retry_count < self.MAX_RETRY:
+ self.setProperty('retry_count', retry_count + 1)
+ self.build.addStepsAfterCurrentStep([CheckOutSource(), ShowIdentifier(), UpdateWorkingDirectory(), ApplyPatch(), CreateLocalGITCommit(), PushCommitToWebKitRepo()])
+ return rc
+
self.setProperty('bugzilla_comment_text', self.comment_text_for_bug())
self.setProperty('build_finish_summary', 'Failed to commit to WebKit repository')
self.build.addStepsAfterCurrentStep([CommentOnBug(), SetCommitQueueMinusFlagOnPatch()])
Modified: trunk/Tools/CISupport/ews-build/steps_unittest.py (272999 => 273000)
--- trunk/Tools/CISupport/ews-build/steps_unittest.py 2021-02-17 16:16:20 UTC (rev 272999)
+++ trunk/Tools/CISupport/ews-build/steps_unittest.py 2021-02-17 16:23:18 UTC (rev 273000)
@@ -3780,8 +3780,27 @@
self.assertEqual(self.getProperty('build_finish_summary'), None)
return rc
+ def test_failure_retry(self):
+ self.setupStep(PushCommitToWebKitRepo())
+ self.setProperty('patch_id', '2345')
+ self.expectRemoteCommands(
+ ExpectShell(workdir='wkdir',
+ timeout=300,
+ logEnviron=False,
+ command=['git', 'svn', 'dcommit', '--rmdir']) +
+ ExpectShell.log('stdio', stdout='Unexpected failure') +
+ 2,
+ )
+ self.expectOutcome(result=FAILURE, state_string='Failed to push commit to Webkit repository')
+ rc = self.runStep()
+ self.assertEqual(self.getProperty('retry_count'), 1)
+ self.assertEqual(self.getProperty('build_finish_summary'), None)
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), None)
+ return rc
+
def test_failure(self):
self.setupStep(PushCommitToWebKitRepo())
+ self.setProperty('retry_count', PushCommitToWebKitRepo.MAX_RETRY)
self.setProperty('patch_id', '2345')
self.expectRemoteCommands(
ExpectShell(workdir='wkdir',
Modified: trunk/Tools/ChangeLog (272999 => 273000)
--- trunk/Tools/ChangeLog 2021-02-17 16:16:20 UTC (rev 272999)
+++ trunk/Tools/ChangeLog 2021-02-17 16:23:18 UTC (rev 273000)
@@ -1,3 +1,15 @@
+2021-02-17 Aakash Jain <aakash_j...@apple.com>
+
+ commit-queue should retry when it fails to commit
+ https://bugs.webkit.org/show_bug.cgi?id=222038
+
+ Reviewed by Jonathan Bedard.
+
+ * CISupport/ews-build/steps.py:
+ (PushCommitToWebKitRepo):
+ (PushCommitToWebKitRepo.evaluateCommand):
+ * CISupport/ews-build/steps_unittest.py:
+
2021-02-17 Wenson Hsieh <wenson_hs...@apple.com>
[macOS] Introduce a new context menu item to preview images
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes