Push roll candidates based on candidate ref instead of lkgr.
authormachenbach <machenbach@chromium.org>
Wed, 26 Nov 2014 15:23:35 +0000 (07:23 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 26 Nov 2014 15:23:48 +0000 (15:23 +0000)
This pushes v8 to the candidates branch based on the
candidate ref, which is guaranteed to be the same for 8
hours.

The candidate ref is maintained by this bot:
http://build.chromium.org/p/client.v8/builders/Auto-roll%20-%20release%20process

NOTRY=true
BUG=chromium:431669
LOG=n

Review URL: https://codereview.chromium.org/760793003

Cr-Commit-Position: refs/heads/master@{#25526}

tools/push-to-trunk/auto_push.py
tools/push-to-trunk/test_scripts.py

index 31d39612bbbd935c8c7e85e1ded43b0b44cbd8c6..68fba55d59bae0b06cb5f7afc3f815f698a66bbc 100755 (executable)
@@ -70,13 +70,12 @@ class CheckTreeStatus(Step):
                % self["tree_message"])
 
 
-class FetchLKGR(Step):
-  MESSAGE = "Fetching V8 LKGR."
+class FetchCandidate(Step):
+  MESSAGE = "Fetching V8 roll candidate ref."
 
   def RunStep(self):
-    lkgr_url = "https://v8-status.appspot.com/lkgr"
-    # Retry several times since app engine might have issues.
-    self["lkgr"] = self.ReadURL(lkgr_url, wait_plan=[5, 20, 300, 300])
+    self.Git("fetch origin +refs/heads/candidate:refs/heads/candidate")
+    self["candidate"] = self.Git("show-ref -s refs/heads/candidate")
 
 
 class CheckLastPush(Step):
@@ -94,8 +93,8 @@ class CheckLastPush(Step):
       self.Die("Could not retrieve bleeding edge revision for trunk push %s"
                % last_push)
 
-    if self["lkgr"] == last_push_be:
-      print "Already pushed current lkgr %s" % last_push_be
+    if self["candidate"] == last_push_be:
+      print "Already pushed current candidate %s" % last_push_be
       return True
 
 
@@ -103,12 +102,12 @@ class PushToCandidates(Step):
   MESSAGE = "Pushing to candidates if specified."
 
   def RunStep(self):
-    print "Pushing lkgr %s to candidates." % self["lkgr"]
+    print "Pushing candidate %s to candidates." % self["candidate"]
 
     args = [
       "--author", self._options.author,
       "--reviewer", self._options.reviewer,
-      "--revision", self["lkgr"],
+      "--revision", self["candidate"],
       "--force",
     ]
 
@@ -144,7 +143,7 @@ class AutoPush(ScriptsBase):
       Preparation,
       CheckAutoPushSettings,
       CheckTreeStatus,
-      FetchLKGR,
+      FetchCandidate,
       CheckLastPush,
       PushToCandidates,
     ]
index f6d0f1a96bebb5c3e4353d9c5f90df0c12aba9d4..b5ec3713e0ee7f97386079116fc121d509c9e735 100644 (file)
@@ -941,7 +941,7 @@ def get_list():
           "Version 3.4.5 (based on abc123)\n"),
     ])
 
-    self._state["lkgr"] = "abc123"
+    self._state["candidate"] = "abc123"
     self.assertEquals(0, self.RunStep(
         auto_push.AutoPush, CheckLastPush, AUTO_PUSH_ARGS))
 
@@ -955,8 +955,8 @@ def get_list():
       Cmd("git fetch", ""),
       URL("https://v8-status.appspot.com/current?format=json",
           "{\"message\": \"Tree is throttled\"}"),
-      URL("https://v8-status.appspot.com/lkgr", Exception("Network problem")),
-      URL("https://v8-status.appspot.com/lkgr", "abc123"),
+      Cmd("git fetch origin +refs/heads/candidate:refs/heads/candidate", ""),
+      Cmd("git show-ref -s refs/heads/candidate", "abc123"),
       Cmd(("git log -1 --format=%H --grep=\""
            "^Version [[:digit:]]*\.[[:digit:]]*\.[[:digit:]]* (based\""
            " origin/candidates"), "push_hash\n"),
@@ -969,7 +969,7 @@ def get_list():
     state = json.loads(FileToText("%s-state.json"
                                   % TEST_CONFIG["PERSISTFILE_BASENAME"]))
 
-    self.assertEquals("abc123", state["lkgr"])
+    self.assertEquals("abc123", state["candidate"])
 
   def testAutoPushStoppedBySettings(self):
     TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))