- Revision
- 258999
- Author
- aakash_j...@apple.com
- Date
- 2020-03-25 11:24:31 -0700 (Wed, 25 Mar 2020)
Log Message
[ews] commit-queue should comment on bug if it fails to find any modified ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=209550
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(FindModifiedChangeLogs): Set haltOnFailure to false.
(FindModifiedChangeLogs.getResultSummary):
(FindModifiedChangeLogs.evaluateCommand): Add build steps to comment on bug and set cq- on patch appropriately.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
Modified Paths
Diff
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (258998 => 258999)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-03-25 18:11:47 UTC (rev 258998)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-03-25 18:24:31 UTC (rev 258999)
@@ -2464,7 +2464,7 @@
name = 'find-modified-changelogs'
descriptionDone = ['Found modified ChangeLogs']
command = ['git', 'diff', '-r', '--name-status', '--no-renames', '--no-ext-diff', '--full-index']
- haltOnFailure = True
+ haltOnFailure = False
def __init__(self, **kwargs):
shell.ShellCommand.__init__(self, timeout=3 * 60, logEnviron=False, **kwargs)
@@ -2476,7 +2476,8 @@
def getResultSummary(self):
if self.results != SUCCESS:
- return {u'step': u'Failed to find list of modified ChangeLogs'}
+ patch_id = self.getProperty('patch_id', '')
+ return {u'step': u'Failed to find any modified ChangeLog in Patch {}'.format(patch_id)}
return shell.ShellCommand.getResultSummary(self)
def evaluateCommand(self, cmd):
@@ -2484,6 +2485,15 @@
log_text = self.log_observer.getStdout() + self.log_observer.getStderr()
modified_changelogs = self.extract_changelogs(log_text, self._status_regexp('MA'))
self.setProperty('modified_changelogs', modified_changelogs)
+ if rc == FAILURE or not modified_changelogs:
+ patch_id = self.getProperty('patch_id', '')
+ message = 'Unable to find any modified ChangeLog in 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
def is_path_to_changelog(self, path):
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (258998 => 258999)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-25 18:11:47 UTC (rev 258998)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-03-25 18:24:31 UTC (rev 258999)
@@ -3148,6 +3148,8 @@
def test_modified_changelogs(self):
self.setupStep(FindModifiedChangeLogs())
+ self.assertEqual(FindModifiedChangeLogs.haltOnFailure, False)
+ self.setProperty('buildername', 'Commit-Queue')
self.expectRemoteCommands(
ExpectShell(workdir='wkdir',
timeout=180,
@@ -3163,6 +3165,8 @@
self.expectOutcome(result=SUCCESS, state_string='Found modified ChangeLogs')
rc = self.runStep()
self.assertEqual(self.getProperty('modified_changelogs'), ['Source/WebCore/ChangeLog', 'Tools/ChangeLog'])
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), None)
+ self.assertEqual(self.getProperty('build_finish_summary'), None)
return rc
def test_success_added_changelog(self):
@@ -3179,10 +3183,14 @@
self.expectOutcome(result=SUCCESS, state_string='Found modified ChangeLogs')
rc = self.runStep()
self.assertEqual(self.getProperty('modified_changelogs'), ['Tools/Scripts/ChangeLog'])
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), None)
+ self.assertEqual(self.getProperty('build_finish_summary'), None)
return rc
def test_failure(self):
self.setupStep(FindModifiedChangeLogs())
+ self.setProperty('patch_id', '1234')
+ self.setProperty('buildername', 'Commit-Queue')
self.expectRemoteCommands(
ExpectShell(workdir='wkdir',
timeout=180,
@@ -3191,8 +3199,11 @@
ExpectShell.log('stdio', stdout='Unexpected failure') +
2,
)
- self.expectOutcome(result=FAILURE, state_string='Failed to find list of modified ChangeLogs')
- return self.runStep()
+ self.expectOutcome(result=FAILURE, state_string='Failed to find any modified ChangeLog in Patch 1234')
+ rc = self.runStep()
+ self.assertEqual(self.getProperty('bugzilla_comment_text'), 'Unable to find any modified ChangeLog in Attachment 1234')
+ self.assertEqual(self.getProperty('build_finish_summary'), 'Unable to find any modified ChangeLog in Patch 1234')
+ return rc
class TestCreateLocalGITCommit(BuildStepMixinAdditions, unittest.TestCase):
Modified: trunk/Tools/ChangeLog (258998 => 258999)
--- trunk/Tools/ChangeLog 2020-03-25 18:11:47 UTC (rev 258998)
+++ trunk/Tools/ChangeLog 2020-03-25 18:24:31 UTC (rev 258999)
@@ -1,5 +1,18 @@
2020-03-25 Aakash Jain <aakash_j...@apple.com>
+ [ews] commit-queue should comment on bug if it fails to find any modified ChangeLog
+ https://bugs.webkit.org/show_bug.cgi?id=209550
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/ews-build/steps.py:
+ (FindModifiedChangeLogs): Set haltOnFailure to false.
+ (FindModifiedChangeLogs.getResultSummary):
+ (FindModifiedChangeLogs.evaluateCommand): Add build steps to comment on bug and set cq- on patch appropriately.
+ * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
+
+2020-03-25 Aakash Jain <aakash_j...@apple.com>
+
[ews] status-bubble should link to buildbot queue while waiting in queue
https://bugs.webkit.org/show_bug.cgi?id=209543