Commit Graph

27 Commits

Author SHA1 Message Date
Michael Achenbach
90b6fc7f1c Switch release scripts to pure git.
This removes all svn features from the release scripts.

This also fixes a bug in commit position retrieval.

BUG=chromium:410721
LOG=n
R=tandrii@chromium.org
TBR=tandrii@chromium.org
TEST=script_test.py

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

Cr-Commit-Position: refs/heads/master@{#25307}
2014-11-12 17:54:22 +00:00
machenbach@chromium.org
73835421d2 Make merge_to_branch more git-friendly.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25154}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:31:23 +00:00
machenbach@chromium.org
81b422931f Add tag write access to merge script.
The script will poll the remote branch until the git updater
has replicated the commit to tag. The tag will then be
directly pushed to git.

BUG=chromium:410721
LOG=n
TEST=script_test.py
R=agable@chromium.org, tandrii@chromium.org
TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 10:46:04 +00:00
machenbach@chromium.org
f3a19a7e76 Fix svn tags in release scripts.
Rebase the local branch after committing so that git svn
tag works.

Some of these changes need to be ported to git in https://codereview.chromium.org/607893004/

BUG=chromium:410721,v8:3601
LOG=n
TEST=script_test.py
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 13:12:44 +00:00
machenbach@chromium.org
06e1f61180 Refactoring: Extract interface for VC in release scripts.
Also simplify tagging in merge_to_branch.

BUG=chromium:410721
LOG=n
R=jkummerow@chromium.org, tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 13:25:14 +00:00
ulan@chromium.org
3857757f96 Add myself to CC in merge_to_branch.py
BUG=
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 11:28:27 +00:00
machenbach@chromium.org
98e9e05092 Refactoring: Remove global configs in release scripts.
TBR=tandrii@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:41:36 +00:00
machenbach@chromium.org
a77dfb1ac6 Refactoring: Remove more legacy from release scripts.
- Remove an unused feature that allowed to check for required
  data before each script step.
- Use a relative path to the version file. In the production
  environment, this will point to the cwd/version_file, while
  in the test environment it is fake_cwd/version_file.

TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:35:49 +00:00
machenbach@chromium.org
f7329c62ea Refactoring: Use fake cwd in release script tests.
TEST=script_test.py
R=tandrii@chromium.org
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:37:34 +00:00
machenbach@chromium.org
d579836b9a Make merge script bypass hooks on upload.
TEST=script_test.py
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:13 +00:00
machenbach@chromium.org
45681c688d Remove old branch logic from push scripts.
The old temporary branch is not needed anymore. All scripts create a different branch after creating the temporary branch.

This also fixes logging subprocesses and logs a warning to track down script failures due to wrong branches.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 15:16:26 +00:00
machenbach@chromium.org
48b8a545c4 Fix bug entry and quotation marks in merge-to-branch.
This fixes usage of quotation marks inside titles of merged patches.
This also fixes aggregation of empty or "none" BUG entries.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 13:01:22 +00:00
machenbach@chromium.org
5f3c8a11fa Add merged patches to commit title in merge-to-branch.
This makes it easier to grep for patches in title in the revision history.

This also removes the redundant information into which branch was merged, as this can be derived from the version number in the title now.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:57:33 +00:00
machenbach@chromium.org
18308b389c Add version number to commit message in merge-to-branch.
This is a step towards automatically rolling arbitrary trunk revisions into Chromium.

This also deprecates the bash scripts as they now start to divert.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:42:18 +00:00
machenbach@chromium.org
7c778096b1 Suppress error handling for test coverage in push and merge scripts.
- This adds a suppression of lines concerning error handling for the test coverage analysis
- Fixes also calling push-to-trunk from auto-roll

TEST=tools/push-to-trunk/script_test.py
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:45:23 +00:00
machenbach@chromium.org
bc21f42563 Refactoring: Make script dependencies more object-oriented in push and merge scripts.
- Connect the top-level scripts via inheritance and remove top-level functions
- Options and option processing can be extended from base to subclass script

This CL is split off from https://codereview.chromium.org/173983002/

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-04 23:27:27 +00:00
machenbach@chromium.org
5acdc942f6 Refactoring: Long option names in push and merge scripts.
This CL is split off from https://codereview.chromium.org/173983002/

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 21:49:51 +00:00
machenbach@chromium.org
f09b3db78c Fix patch creation in merge-to-branch script.
Patch white space got stripped, which lead to failures when applying the patch.

- Refine test to reveal the problem
- Create a separate method for retrieving the patch that doesn't strip white space

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 16:12:32 +00:00
machenbach@chromium.org
2e01427c3d Refactoring: Deprecate optparse in push and merge scripts.
- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly

This CL is split off from https://codereview.chromium.org/173983002/

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 15:13:31 +00:00
machenbach@chromium.org
01cf2f8eda Refactoring: Extract low-level git from push and merge scripts.
- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:39:41 +00:00
machenbach@chromium.org
7a4f18caa6 Refactoring: Extract git checks in push and merge scripts.
This extracts the pattern "if call git fails: raise exception", which is spread all over the place. Now all calls to git are required to return gracefully and give a uniform exception message if they don't.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:56:19 +00:00
machenbach@chromium.org
a56d0da623 Refactor persisting state in push and merge scripts.
- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 11:56:48 +00:00
machenbach@chromium.org
77c278b94d Fix merge-to-branch options.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:17:08 +00:00
machenbach@chromium.org
0f2c040c79 Fix merge-to-branch python port.
This fixes a forgotten parameter when calling the script's toplevel method and adds the same usage message as in the bash script.

BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:05:59 +00:00
machenbach@chromium.org
f15c700378 Fix merge-to-branch imports.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:51:46 +00:00
machenbach@chromium.org
6af4512ba7 Make merge-to-branch python port executable
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:47:56 +00:00
machenbach@chromium.org
c2cd2083a3 Add merge-to-branch python port.
- To ease a line-by-line review, the script is intentionally close to the former bash version
- Disambiguate the existing "-r" option for reviewer in the other scripts
- The options design will be refactored in a follow up CL

TEST=python -m unittest test_scripts.ScriptTest.testMergeToBranch
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:09:14 +00:00