Index: tools/release/releases.py |
diff --git a/tools/release/releases.py b/tools/release/releases.py |
index 5084aa6d0c6bc31a5b1a9a8160814d3249387d5c..e7000ac9fcf83e0be7fc5aa58b36664c34178164 100755 |
--- a/tools/release/releases.py |
+++ b/tools/release/releases.py |
@@ -381,7 +381,7 @@ class RetrieveChromiumV8Releases(Step): |
# TODO(machenbach): Unify common code with method above. |
-class RietrieveChromiumBranches(Step): |
+class RetrieveChromiumBranches(Step): |
MESSAGE = "Retrieve Chromium branch information." |
def RunStep(self): |
@@ -433,6 +433,37 @@ class RietrieveChromiumBranches(Step): |
releases_dict.get(revision, {})["chromium_branch"] = ranges |
+class RetrieveInformationOnChromeReleases(Step): |
+ MESSAGE = 'Retrieves relevant information on the latest Chrome releases' |
+ |
+ def Run(self): |
+ |
+ params = None |
+ result_raw = self.ReadURL( |
+ "http://omahaproxy.appspot.com/all.json", |
+ params, |
+ wait_plan=[5, 20] |
+ ) |
+ recent_releases = json.loads(result_raw) |
+ |
+ canaries = [] |
+ |
+ for current_os in recent_releases: |
+ for current_version in current_os["versions"]: |
+ current_candidate = { |
+ "chrome_version": current_version["version"], |
+ "os": current_version["os"], |
+ "release_date": current_version["current_reldate"], |
+ "v8_version": current_version["v8_version"], |
+ } |
+ |
+ if current_version["channel"] == "canary": |
+ canaries.append(current_candidate) |
+ |
+ chrome_releases = {"canaries": canaries} |
+ self["chrome_releases"] = chrome_releases |
+ |
+ |
class CleanUp(Step): |
MESSAGE = "Clean up." |
@@ -444,6 +475,12 @@ class WriteOutput(Step): |
MESSAGE = "Print output." |
def Run(self): |
+ |
+ output = { |
+ "releases": self["releases"], |
+ "chrome_releases": self["chrome_releases"], |
+ } |
+ |
if self._options.csv: |
with open(self._options.csv, "w") as f: |
writer = csv.DictWriter(f, |
@@ -455,9 +492,9 @@ class WriteOutput(Step): |
writer.writerow(release) |
if self._options.json: |
with open(self._options.json, "w") as f: |
- f.write(json.dumps(self["releases"])) |
+ f.write(json.dumps(output)) |
if not self._options.csv and not self._options.json: |
- print self["releases"] # pragma: no cover |
+ print output # pragma: no cover |
class Releases(ScriptsBase): |
@@ -486,12 +523,14 @@ class Releases(ScriptsBase): |
} |
def _Steps(self): |
+ |
return [ |
Preparation, |
RetrieveV8Releases, |
UpdateChromiumCheckout, |
RetrieveChromiumV8Releases, |
- RietrieveChromiumBranches, |
+ RetrieveChromiumBranches, |
+ RetrieveInformationOnChromeReleases, |
CleanUp, |
WriteOutput, |
] |