OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 the V8 project authors. All rights reserved. | 2 # Copyright 2014 the V8 project authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import argparse | 6 import argparse |
7 import json | 7 import json |
8 import os | 8 import os |
9 import sys | 9 import sys |
10 import urllib | 10 import urllib |
11 | 11 |
12 from common_includes import * | 12 from common_includes import * |
13 import chromium_roll | 13 import chromium_roll |
14 | 14 |
15 CLUSTERFUZZ_API_KEY_FILE = "CLUSTERFUZZ_API_KEY_FILE" | 15 CLUSTERFUZZ_API_KEY_FILE = "CLUSTERFUZZ_API_KEY_FILE" |
16 | 16 |
17 CONFIG = { | 17 CONFIG = { |
18 PERSISTFILE_BASENAME: "/tmp/v8-auto-roll-tempfile", | 18 PERSISTFILE_BASENAME: "/tmp/v8-auto-roll-tempfile", |
19 CLUSTERFUZZ_API_KEY_FILE: ".cf_api_key", | 19 CLUSTERFUZZ_API_KEY_FILE: ".cf_api_key", |
20 } | 20 } |
21 | 21 |
22 CR_DEPS_URL = 'http://src.chromium.org/svn/trunk/src/DEPS' | |
23 | 22 |
24 class CheckActiveRoll(Step): | 23 class CheckActiveRoll(Step): |
25 MESSAGE = "Check active roll." | 24 MESSAGE = "Check active roll." |
26 | 25 |
27 @staticmethod | 26 @staticmethod |
28 def ContainsChromiumRoll(changes): | 27 def ContainsChromiumRoll(changes): |
29 for change in changes: | 28 for change in changes: |
30 if change["subject"].startswith("Update V8 to"): | 29 if change["subject"].startswith("Update V8 to"): |
31 return True | 30 return True |
32 return False | 31 return False |
(...skipping 20 matching lines...) Expand all Loading... |
53 push_hash = self.FindLastTrunkPush( | 52 push_hash = self.FindLastTrunkPush( |
54 branch="origin/master", include_patches=True) | 53 branch="origin/master", include_patches=True) |
55 self["last_push"] = self.GetCommitPositionNumber(push_hash) | 54 self["last_push"] = self.GetCommitPositionNumber(push_hash) |
56 | 55 |
57 | 56 |
58 class DetectLastRoll(Step): | 57 class DetectLastRoll(Step): |
59 MESSAGE = "Detect commit ID of the last Chromium roll." | 58 MESSAGE = "Detect commit ID of the last Chromium roll." |
60 | 59 |
61 def RunStep(self): | 60 def RunStep(self): |
62 # Interpret the DEPS file to retrieve the v8 revision. | 61 # Interpret the DEPS file to retrieve the v8 revision. |
| 62 # TODO(machenbach): This should be part or the roll-deps api of |
| 63 # depot_tools. |
63 Var = lambda var: '%s' | 64 Var = lambda var: '%s' |
64 exec(self.ReadURL(CR_DEPS_URL)) | 65 exec(FileToText(os.path.join(self._options.chromium, "DEPS"))) |
65 last_roll = vars['v8_revision'] | 66 last_roll = self.GetCommitPositionNumber(vars['v8_revision']) |
66 # FIXME(machenbach): When rolling from bleeding edge and from trunk there | 67 # FIXME(machenbach): When rolling from bleeding edge and from trunk there |
67 # be different commit numbers here. Better use version? | 68 # be different commit numbers here. Better use version? |
68 if int(last_roll) >= int(self["last_push"]): | 69 if int(last_roll) >= int(self["last_push"]): |
69 print("There is no newer v8 revision than the one in Chromium (%s)." | 70 print("There is no newer v8 revision than the one in Chromium (%s)." |
70 % last_roll) | 71 % last_roll) |
71 return True | 72 return True |
72 | 73 |
73 | 74 |
74 class CheckClusterFuzz(Step): | 75 class CheckClusterFuzz(Step): |
75 MESSAGE = "Check ClusterFuzz api for new problems." | 76 MESSAGE = "Check ClusterFuzz api for new problems." |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 CheckActiveRoll, | 134 CheckActiveRoll, |
134 DetectLastPush, | 135 DetectLastPush, |
135 DetectLastRoll, | 136 DetectLastRoll, |
136 CheckClusterFuzz, | 137 CheckClusterFuzz, |
137 RollChromium, | 138 RollChromium, |
138 ] | 139 ] |
139 | 140 |
140 | 141 |
141 if __name__ == "__main__": # pragma: no cover | 142 if __name__ == "__main__": # pragma: no cover |
142 sys.exit(AutoRoll(CONFIG).Run()) | 143 sys.exit(AutoRoll(CONFIG).Run()) |
OLD | NEW |