Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (258945 => 258946)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-03-24 22:08:58 UTC (rev 258945)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-03-24 22:26:45 UTC (rev 258946)
@@ -2507,7 +2507,7 @@
class CreateLocalGITCommit(shell.ShellCommand):
name = 'create-local-git-commit'
descriptionDone = ['Created local git commit']
- haltOnFailure = True
+ haltOnFailure = False
def __init__(self, **kwargs):
shell.ShellCommand.__init__(self, timeout=5 * 60, logEnviron=False, **kwargs)
@@ -2515,8 +2515,9 @@
def start(self):
self.failure_message = None
modified_changelogs = self.getProperty('modified_changelogs')
+ patch_id = self.getProperty('patch_id', '')
if not modified_changelogs:
- self.failure_message = u'No modified ChangeLog file found'
+ self.failure_message = u'No modified ChangeLog file found for Patch {}'.format(patch_id)
self.finished(FAILURE)
return None
@@ -2532,7 +2533,20 @@
return {u'step': u'Failed to create git commit'}
return shell.ShellCommand.getResultSummary(self)
+ def evaluateCommand(self, cmd):
+ rc = shell.ShellCommand.evaluateCommand(self, cmd)
+ if rc == FAILURE:
+ patch_id = self.getProperty('patch_id', '')
+ message = self.failure_message or 'Failed to create git commit for Patch {}'.format(patch_id)
+ if self.getProperty('buildername', '').lower() == 'commit-queue':
+ self.setProperty('bugzilla_comment_text', message.replace('Patch', 'Attachment'))
+ self.setProperty('build_finish_summary', message)
+ self.build.addStepsAfterCurrentStep([CommentOnBug(), SetCommitQueueMinusFlagOnPatch()])
+ else:
+ self.build.buildFinished([message], FAILURE)
+ return rc
+
class PushCommitToWebKitRepo(shell.ShellCommand):
name = 'push-commit-to-webkit-repo'
descriptionDone = ['Pushed commit to WebKit repository']
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (258945 => 258946)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-24 22:08:58 UTC (rev 258945)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-24 22:26:45 UTC (rev 258946)
@@ -3205,6 +3205,8 @@
def test_success(self):
self.setupStep(CreateLocalGITCommit())
+ self.assertEqual(CreateLocalGITCommit.haltOnFailure, False)
+ self.setProperty('buildername', 'Commit-Queue')
self.setProperty('modified_changelogs', ['Tools/Scripts/ChangeLog', 'Source/WebCore/ChangeLog'])
self.expectRemoteCommands(
ExpectShell(workdir='wkdir',
@@ -3214,15 +3216,21 @@
0,
)
self.expectOutcome(result=SUCCESS, state_string='Created local git commit')
- return self.runStep()
+ rc = self.runStep()
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), None)
+ self.assertEqual(self.getProperty('build_finish_summary'), None)
+ return rc
def test_failure_no_changelog(self):
self.setupStep(CreateLocalGITCommit())
- self.expectOutcome(result=FAILURE, state_string='No modified ChangeLog file found')
+ self.setProperty('patch_id', '1234')
+ self.expectOutcome(result=FAILURE, state_string='No modified ChangeLog file found for Patch 1234')
return self.runStep()
def test_failure(self):
self.setupStep(CreateLocalGITCommit())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('buildername', 'Commit-Queue')
self.setProperty('modified_changelogs', ['Tools/Scripts/ChangeLog'])
self.expectRemoteCommands(
ExpectShell(workdir='wkdir',
@@ -3233,7 +3241,10 @@
2,
)
self.expectOutcome(result=FAILURE, state_string='Failed to create git commit')
- return self.runStep()
+ rc = self.runStep()
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), 'Failed to create git commit for Attachment 1234')
+ self.assertEqual(self.getProperty('build_finish_summary'), 'Failed to create git commit for Patch 1234')
+ return rc
class TestValidateCommiterAndReviewer(BuildStepMixinAdditions, unittest.TestCase):
Modified: trunk/Tools/ChangeLog (258945 => 258946)
--- trunk/Tools/ChangeLog 2020-03-24 22:08:58 UTC (rev 258945)
+++ trunk/Tools/ChangeLog 2020-03-24 22:26:45 UTC (rev 258946)
@@ -1,3 +1,16 @@
+2020-03-24 Aakash Jain <[email protected]>
+
+ [ews] commit-queue should comment on bug if it fails to create git commit
+ https://bugs.webkit.org/show_bug.cgi?id=209487
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/ews-build/steps.py:
+ (CreateLocalGITCommit):
+ (CreateLocalGITCommit.start):
+ (CreateLocalGITCommit.evaluateCommand):
+ * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
+
2020-03-24 Daniel Bates <[email protected]>
Element context character rects may be in wrong coordinate system