Title: [139578] trunk/Tools
Revision
139578
Author
[email protected]
Date
2013-01-13 18:18:08 -0800 (Sun, 13 Jan 2013)

Log Message

State who told sheriffbot to roll the Chromium deps and to what revision
https://bugs.webkit.org/show_bug.cgi?id=106626

Patch by Alan Cutter <[email protected]> on 2013-01-13
Reviewed by Eric Seidel.

Added optional argument to post-chromium-deps-roll so Sheriffbot can specify ChangeLog message.

* Scripts/webkitpy/tool/bot/irc_command.py:
(RollChromiumDEPS._expand_irc_nickname):
(RollChromiumDEPS.execute):
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest.test_roll_chromium_deps):
* Scripts/webkitpy/tool/bot/sheriff.py:
(Sheriff.post_chromium_deps_roll):
* Scripts/webkitpy/tool/commands/roll.py:
(RollChromiumDEPS._prepare_state):
(PostChromiumDEPSRoll):
(PostChromiumDEPSRoll._prepare_state):
* Scripts/webkitpy/tool/commands/roll_unittest.py:
(PostRollCommandsTest.test_prepare_state):
* Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py:
(PrepareChangeLogForDEPSRoll.run):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (139577 => 139578)


--- trunk/Tools/ChangeLog	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/ChangeLog	2013-01-14 02:18:08 UTC (rev 139578)
@@ -1,5 +1,30 @@
 2013-01-13  Alan Cutter  <[email protected]>
 
+        State who told sheriffbot to roll the Chromium deps and to what revision
+        https://bugs.webkit.org/show_bug.cgi?id=106626
+
+        Reviewed by Eric Seidel.
+
+        Added optional argument to post-chromium-deps-roll so Sheriffbot can specify ChangeLog message.
+
+        * Scripts/webkitpy/tool/bot/irc_command.py:
+        (RollChromiumDEPS._expand_irc_nickname):
+        (RollChromiumDEPS.execute):
+        * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
+        (IRCCommandTest.test_roll_chromium_deps):
+        * Scripts/webkitpy/tool/bot/sheriff.py:
+        (Sheriff.post_chromium_deps_roll):
+        * Scripts/webkitpy/tool/commands/roll.py:
+        (RollChromiumDEPS._prepare_state):
+        (PostChromiumDEPSRoll):
+        (PostChromiumDEPSRoll._prepare_state):
+        * Scripts/webkitpy/tool/commands/roll_unittest.py:
+        (PostRollCommandsTest.test_prepare_state):
+        * Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py:
+        (PrepareChangeLogForDEPSRoll.run):
+
+2013-01-13  Alan Cutter  <[email protected]>
+
         Add Alan Cutter as contributor
         https://bugs.webkit.org/show_bug.cgi?id=106747
 

Modified: trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -185,14 +185,21 @@
             return
         return revision
 
+    def _expand_irc_nickname(self, nick):
+        contributor = CommitterList().contributor_by_irc_nickname(nick)
+        if contributor:
+            return str(contributor)
+        return nick
+
     def execute(self, nick, args, tool, sheriff):
         revision = self._parse_args(args)
 
         roll_target = "r%s" % revision if revision else "last-known good revision"
         tool.irc().post("%s: Rolling Chromium DEPS to %s" % (nick, roll_target))
+        changelog_message = "Unreviewed.  Rolled Chromium DEPS to %s.  Requested by %s via sheriffbot.\n\n" % (roll_target, self._expand_irc_nickname(nick))
 
         try:
-            bug_id = sheriff.post_chromium_deps_roll(revision, roll_target)
+            bug_id = sheriff.post_chromium_deps_roll(revision, roll_target, changelog_message)
             bug_url = tool.bugs.bug_url_for_bug_id(bug_id)
             tool.irc().post("%s: Created DEPS roll: %s" % (nick, bug_url))
         except ScriptError, e:

Modified: trunk/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -99,6 +99,8 @@
         roll = RollChromiumDEPS()
         self.assertEqual(None, roll._parse_args([]))
         self.assertEqual("1234", roll._parse_args(["1234"]))
+        self.assertEqual('"Alan Cutter" <[email protected]>', roll._expand_irc_nickname("alancutter"))
+        self.assertEqual("unknown_irc_nickname", roll._expand_irc_nickname("unknown_irc_nickname"))
 
     def test_rollout_updates_working_copy(self):
         rollout = Rollout()

Modified: trunk/Tools/Scripts/webkitpy/tool/bot/sheriff.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/bot/sheriff.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/bot/sheriff.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -88,7 +88,7 @@
         ])
         return urls.parse_bug_id(output)
 
-    def post_chromium_deps_roll(self, revision, revision_name):
+    def post_chromium_deps_roll(self, revision, revision_name, changelog_message):
         args = [
             "post-chromium-deps-roll",
             "--force-clean",
@@ -96,7 +96,7 @@
             "--parent-command=sheriff-bot",
         ]
         # revision can be None, but revision_name is always something meaningful.
-        args += [revision, revision_name]
+        args += [revision, revision_name, changelog_message]
         output = self._sheriffbot.run_webkit_patch(args)
         return urls.parse_bug_id(output)
 

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/roll.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/commands/roll.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/roll.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -31,6 +31,8 @@
 from webkitpy.tool import steps
 
 
+default_changelog_message = "Unreviewed.  Rolled DEPS.\n\n"
+
 class RollChromiumDEPS(AbstractSequencedCommand):
     name = "roll-chromium-deps"
     help_text = "Updates Chromium DEPS (defaults to the last-known good revision of Chromium)"
@@ -45,13 +47,14 @@
     def _prepare_state(self, options, args, tool):
         return {
             "chromium_revision": (args and args[0]),
+            "changelog_message": default_changelog_message,
         }
 
 
 class PostChromiumDEPSRoll(AbstractSequencedCommand):
     name = "post-chromium-deps-roll"
     help_text = "Posts a patch to update Chromium DEPS (revision defaults to the last-known good revision of Chromium)"
-    argument_names = "CHROMIUM_REVISION CHROMIUM_REVISION_NAME"
+    argument_names = "CHROMIUM_REVISION CHROMIUM_REVISION_NAME [CHANGELOG_MESSAGE]"
     steps = [
         steps.CleanWorkingDirectory,
         steps.Update,
@@ -67,8 +70,10 @@
 
         chromium_revision = args[0]
         chromium_revision_name = args[1]
+        changelog_message = args[2] if len(args) >= 3 else default_changelog_message
         return {
             "chromium_revision": chromium_revision,
+            "changelog_message": changelog_message,
             "bug_title": "Roll Chromium DEPS to %s" % chromium_revision_name,
             "bug_description": "A DEPS roll a day keeps the build break away.",
         }

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/roll_unittest.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/commands/roll_unittest.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/roll_unittest.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -59,6 +59,8 @@
         lkgr_state = postroll._prepare_state(options, [None, "last-known good revision"], tool)
         self.assertEqual(None, lkgr_state["chromium_revision"])
         self.assertEqual("Roll Chromium DEPS to last-known good revision", lkgr_state["bug_title"])
-        revision_state = postroll._prepare_state(options, ["1234", "r1234"], tool)
+        self.assertEqual("Unreviewed.  Rolled DEPS.\n\n", lkgr_state["changelog_message"])
+        revision_state = postroll._prepare_state(options, ["1234", "r1234", "test message"], tool)
         self.assertEqual("1234", revision_state["chromium_revision"])
         self.assertEqual("Roll Chromium DEPS to r1234", revision_state["bug_title"])
+        self.assertEqual("test message", revision_state["changelog_message"])

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py (139577 => 139578)


--- trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py	2013-01-14 00:57:57 UTC (rev 139577)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py	2013-01-14 02:18:08 UTC (rev 139578)
@@ -35,4 +35,4 @@
         self._tool.executive.run_and_throw_if_fail(self._tool.deprecated_port().prepare_changelog_command())
         changelog_paths = self._tool.checkout().modified_changelogs(git_commit=None)
         for changelog_path in changelog_paths:
-            ChangeLog(changelog_path).update_with_unreviewed_message("Unreviewed.  Rolled DEPS.\n\n")
+            ChangeLog(changelog_path).update_with_unreviewed_message(state["changelog_message"])
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to