Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(912)

Unified Diff: tools/push-to-trunk/releases.py

Issue 540973002: Add cwd to all shell commands in auto roll scripts. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/push-to-trunk/push_to_trunk.py ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/push-to-trunk/releases.py
diff --git a/tools/push-to-trunk/releases.py b/tools/push-to-trunk/releases.py
index b6893fe30bad1ce7a374ab269f91ccd9f16ece48..21eb46231203eb4fdee3c453f4bef17ec88c7db8 100755
--- a/tools/push-to-trunk/releases.py
+++ b/tools/push-to-trunk/releases.py
@@ -20,7 +20,6 @@ import sys
from common_includes import *
-DEPS_FILE = "DEPS_FILE"
CHROMIUM = "CHROMIUM"
CONFIG = {
@@ -28,7 +27,6 @@ CONFIG = {
PERSISTFILE_BASENAME: "/tmp/v8-releases-tempfile",
DOT_GIT_LOCATION: ".git",
VERSION_FILE: "src/version.cc",
- DEPS_FILE: "DEPS",
}
# Expression for retrieving the bleeding edge revision from a commit message.
@@ -268,60 +266,42 @@ class RetrieveV8Releases(Step):
reverse=True)
-# TODO(machenbach): Parts of the Chromium setup are c/p from the chromium_roll
-# script -> unify.
-class CheckChromium(Step):
- MESSAGE = "Check the chromium checkout."
-
- def Run(self):
- self["chrome_path"] = self._options.chromium
-
-
class SwitchChromium(Step):
MESSAGE = "Switch to Chromium checkout."
- REQUIRES = "chrome_path"
def RunStep(self):
- self["v8_path"] = os.getcwd()
- os.chdir(self["chrome_path"])
+ cwd = self._options.chromium
# Check for a clean workdir.
- if not self.GitIsWorkdirClean(): # pragma: no cover
+ if not self.GitIsWorkdirClean(cwd=cwd): # pragma: no cover
self.Die("Workspace is not clean. Please commit or undo your changes.")
# Assert that the DEPS file is there.
- if not os.path.exists(self.Config(DEPS_FILE)): # pragma: no cover
+ if not os.path.exists(os.path.join(cwd, "DEPS")): # pragma: no cover
self.Die("DEPS file not present.")
class UpdateChromiumCheckout(Step):
MESSAGE = "Update the checkout and create a new branch."
- REQUIRES = "chrome_path"
def RunStep(self):
- os.chdir(self["chrome_path"])
- self.GitCheckout("master")
- self.GitPull()
- self.GitCreateBranch(self.Config(BRANCHNAME))
+ cwd = self._options.chromium
+ self.GitCheckout("master", cwd=cwd)
+ self.GitPull(cwd=cwd)
+ self.GitCreateBranch(self.Config(BRANCHNAME), cwd=cwd)
def ConvertToCommitNumber(step, revision):
# Simple check for git hashes.
if revision.isdigit() and len(revision) < 8:
return revision
- try:
- # TODO(machenbach): Add cwd to git calls.
- os.chdir(os.path.join(step["chrome_path"], "v8"))
- return step.GitConvertToSVNRevision(revision)
- finally:
- os.chdir(step["chrome_path"])
+ return step.GitConvertToSVNRevision(
+ revision, cwd=os.path.join(step._options.chromium, "v8"))
class RetrieveChromiumV8Releases(Step):
MESSAGE = "Retrieve V8 releases from Chromium DEPS."
- REQUIRES = "chrome_path"
def RunStep(self):
- os.chdir(self["chrome_path"])
-
+ cwd = self._options.chromium
releases = filter(
lambda r: r["branch"] in ["trunk", "bleeding_edge"], self["releases"])
if not releases: # pragma: no cover
@@ -329,26 +309,22 @@ class RetrieveChromiumV8Releases(Step):
return True
# Update v8 checkout in chromium.
- try:
- # TODO(machenbach): Add cwd to git calls.
- os.chdir(os.path.join(self["chrome_path"], "v8"))
- self.GitFetchOrigin()
- finally:
- os.chdir(self["chrome_path"])
+ self.GitFetchOrigin(cwd=os.path.join(cwd, "v8"))
oldest_v8_rev = int(releases[-1]["revision"])
cr_releases = []
try:
- for git_hash in self.GitLog(format="%H", grep="V8").splitlines():
- if self._config[DEPS_FILE] not in self.GitChangedFiles(git_hash):
+ for git_hash in self.GitLog(
+ format="%H", grep="V8", cwd=cwd).splitlines():
+ if "DEPS" not in self.GitChangedFiles(git_hash, cwd=cwd):
continue
- if not self.GitCheckoutFileSafe(self._config[DEPS_FILE], git_hash):
+ if not self.GitCheckoutFileSafe("DEPS", git_hash, cwd=cwd):
break # pragma: no cover
- deps = FileToText(self.Config(DEPS_FILE))
+ deps = FileToText(os.path.join(cwd, "DEPS"))
match = DEPS_RE.search(deps)
if match:
- cr_rev = self.GetCommitPositionNumber(git_hash)
+ cr_rev = self.GetCommitPositionNumber(git_hash, cwd=cwd)
if cr_rev:
v8_rev = ConvertToCommitNumber(self, match.group(1))
cr_releases.append([cr_rev, v8_rev])
@@ -364,7 +340,7 @@ class RetrieveChromiumV8Releases(Step):
pass
# Clean up.
- self.GitCheckoutFileSafe(self._config[DEPS_FILE], "HEAD")
+ self.GitCheckoutFileSafe("DEPS", "HEAD", cwd=cwd)
# Add the chromium ranges to the v8 trunk and bleeding_edge releases.
all_ranges = BuildRevisionRanges(cr_releases)
@@ -376,11 +352,9 @@ class RetrieveChromiumV8Releases(Step):
# TODO(machenbach): Unify common code with method above.
class RietrieveChromiumBranches(Step):
MESSAGE = "Retrieve Chromium branch information."
- REQUIRES = "chrome_path"
def RunStep(self):
- os.chdir(self["chrome_path"])
-
+ cwd = self._options.chromium
trunk_releases = filter(lambda r: r["branch"] == "trunk", self["releases"])
if not trunk_releases: # pragma: no cover
print "No trunk releases detected. Skipping chromium history."
@@ -390,7 +364,7 @@ class RietrieveChromiumBranches(Step):
# Filter out irrelevant branches.
branches = filter(lambda r: re.match(r"branch-heads/\d+", r),
- self.GitRemotes())
+ self.GitRemotes(cwd=cwd))
# Transform into pure branch numbers.
branches = map(lambda r: int(re.match(r"branch-heads/(\d+)", r).group(1)),
@@ -401,10 +375,11 @@ class RietrieveChromiumBranches(Step):
cr_branches = []
try:
for branch in branches:
- if not self.GitCheckoutFileSafe(self._config[DEPS_FILE],
- "branch-heads/%d" % branch):
+ if not self.GitCheckoutFileSafe("DEPS",
+ "branch-heads/%d" % branch,
+ cwd=cwd):
break # pragma: no cover
- deps = FileToText(self.Config(DEPS_FILE))
+ deps = FileToText(os.path.join(cwd, "DEPS"))
match = DEPS_RE.search(deps)
if match:
v8_rev = ConvertToCommitNumber(self, match.group(1))
@@ -421,7 +396,7 @@ class RietrieveChromiumBranches(Step):
pass
# Clean up.
- self.GitCheckoutFileSafe(self._config[DEPS_FILE], "HEAD")
+ self.GitCheckoutFileSafe("DEPS", "HEAD", cwd=cwd)
# Add the chromium branches to the v8 trunk releases.
all_ranges = BuildRevisionRanges(cr_branches)
@@ -430,20 +405,12 @@ class RietrieveChromiumBranches(Step):
trunk_dict.get(revision, {})["chromium_branch"] = ranges
-class SwitchV8(Step):
- MESSAGE = "Returning to V8 checkout."
- REQUIRES = "chrome_path"
-
- def RunStep(self):
- self.GitCheckout("master")
- self.GitDeleteBranch(self.Config(BRANCHNAME))
- os.chdir(self["v8_path"])
-
-
class CleanUp(Step):
MESSAGE = "Clean up."
def RunStep(self):
+ self.GitCheckout("master", cwd=self._options.chromium)
+ self.GitDeleteBranch(self.Config(BRANCHNAME), cwd=self._options.chromium)
self.CommonCleanup()
@@ -488,12 +455,10 @@ class Releases(ScriptsBase):
return [
Preparation,
RetrieveV8Releases,
- CheckChromium,
SwitchChromium,
UpdateChromiumCheckout,
RetrieveChromiumV8Releases,
RietrieveChromiumBranches,
- SwitchV8,
CleanUp,
WriteOutput,
]
« no previous file with comments | « tools/push-to-trunk/push_to_trunk.py ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698