machenbach@chromium.org
a44c42a4da
Add cwd to all shell commands in auto roll scripts.
...
The v8 root directory is assumed to be the default cwd. All
commands executed in another directory (e.g. the chromium
checkout) need an explicit specification (also in the
tests).
This also fixes several small testing and robustness bugs:
- Get rid of all 'rm ...' shell calls
- Don't leak tmp files/dirs
- Add some forgotten shell calls to the test expectations
- Hardcode the DEPS location (must always be
chromium_dir/DEPS)
- Expect correct return code when terminating gracefully
BUG=chromium:408523
LOG=n
TBR=jarin@chromium.org
TEST=script_test.py
Review URL: https://codereview.chromium.org/540973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 09:19:48 +00:00
machenbach@chromium.org
485168c8c6
Return 0 when roll scripts terminate gracefully.
...
BUG=408523
LOG=n
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/536403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:19:44 +00:00
machenbach@chromium.org
33e56ef889
Make auto_roll run with a pure git checkout.
...
BUG=410721
LOG=n
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/540513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 08:42:21 +00:00
machenbach@chromium.org
63e33ba0a0
Add more output when roll scripts are retrying.
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/529343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:38:28 +00:00
machenbach@chromium.org
6a0567a9ea
Add dry-run feature to auto roll scripts.
...
BUG=408523
LOG=n
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/529423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 08:29:53 +00:00
machenbach@chromium.org
c218c20e54
Fix automatic tagging.
...
BUG=
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/417973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 07:36:25 +00:00
machenbach@chromium.org
d9fa8f77e8
Add automatic tag script.
...
The script can be run in a cron job to automatically tag
lkgrs.
BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/auto_tag.py --dry_run
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/400693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:16:14 +00:00
machenbach@chromium.org
570ea3bf5d
Add script to bump up version on bleeding edge.
...
The version.cc file will from now on be controlled on
bleeding edge and on trunk. The next version to use will
always be max(bleeding_edge_version, trunk_version) + 1.
The trunk and bleeding_edge versions are not semantically
tied together. The trunk branch can be used to make
independent point releases of bleeding_edge revisions.
The version on bleeding_edge will be increased if:
- the lkgr version is smaller than the version of the latest
revision,
- the lkgr version is not a version change itself,
- the tree is not closed for maintenance.
This will allow chromium to refer directly to bleeding_edge
revisions of v8. The v8 versions will not be unique, but
they will change as often as possible, dependent on the lkgr
cycle time and the frequency this script is called.
BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/bump_up_version.py --dry_run
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/389353003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:57:13 +00:00
machenbach@chromium.org
52ef087dcf
Fix clusterfuzz check in auto-roll.
...
Minor fixes: Strip new lines from api key. Missing import. Use string query parameters.
BUG=
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/353813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:44:59 +00:00
machenbach@chromium.org
7833a1321c
Add clusterfuzz check to v8 auto-roll script and use CQ.
...
This adds a check step that makes sure there are no new issues when rolling into chromium.
It also checks the cq bit on roll upload.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/315133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:17:45 +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
fd8a2a7f7a
Add V8 releases script.
...
This script retrieves the history of all V8 branches and trunk revisions and their corresponding Chromium revisions.
TEST=tools/push-to-trunk/releases.py -c <chrome path> --csv test.csv
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/227583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:30:02 +00:00
machenbach@chromium.org
c9d8b90f1b
Automatically determine current V8 sheriff in chromium-roll script.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/225283007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 12:07:49 +00:00
machenbach@chromium.org
4b222fb69e
Make auto-roll script also roll patched trunk revisions.
...
This will allow the auto-roll bot to roll the last trunk patches, e.g. "Version 3.4.5.1 ...".
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/223863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 07:23:45 +00:00
machenbach@chromium.org
0b246776ec
Implement auto-roll script.
...
This script will (1) check if there is an active roll on rietveld (2) check if there is a trunk revision ready to be rolled and (3) call the chromium_roll script, creating a roll CL. The script will be called regularly through a cron job.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/212983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 06:59:25 +00:00
machenbach@chromium.org
c06c9f8e1e
Deprecate ChangeLog on bleeding_edge.
...
- This adds a sentinel to the ChangeLog on bleeding edge.
- Modifying the ChangeLog file directly when pushing to trunk is now no longer possible. If further modifications to the ChangeLog in manual push-to-trunk mode are required (e.g. after the prepare push LGTM), the change log entry temp file must be edited.
- Functionality that is no longer needed is removed.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/199893005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:46:48 +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
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
fb0fb8e0cc
Retrieve bleeding edge push revision from trunk commit message.
...
This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/169843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:40:30 +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
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
machenbach@chromium.org
e81eacfa74
Enable specification of author email in push-to-trunk.
...
If not specified, depot tools tend to ask for an email on the command line once in a while, which makes the automated script hang.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/158733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:48:36 +00:00
machenbach@chromium.org
780ae3146a
Activate calling push-to-trunk in auto-roll script.
...
- Call push-to-trunk through python not through the shell
- Restore tree state on script errors
- Mock out python call in unit tests
- The actual call stays behind a flag
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/141633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 11:29:43 +00:00
machenbach@chromium.org
0684eb14e6
Add tree control feature to auto-roll script.
...
This CL enables the auto-roll script to close and reopen the tree when pushing.
Modifies an auto-roll test so that the push-to-trunk part is executed in order to test the new tree control feature.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/130403006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 15:55:23 +00:00
machenbach@chromium.org
0030356cd0
Add better remote control to push-to-trunk auto-roll script.
...
This CL enables controlling the automatic push-to-trunk via a settings file .auto-roll in the home directory or via the v8 status app message.
Pushes can be disabled by setting .auto-roll to {"enable_auto_roll": false} or by adding the phrase "nopush" or "no push" to http://v8-status.appspot.com/ .
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/113973003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 15:23:48 +00:00
machenbach@chromium.org
508f7d256a
Add named options to push-to-trunk script.
...
Also make sure that on exceptions from the test infrastructure there is no retry.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/114203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 10:56:52 +00:00
machenbach@chromium.org
34943ca0c8
Add fully automated mode to push-to-trunk script.
...
Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/102253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-04 08:47:18 +00:00
machenbach@chromium.org
9087d5f865
Mock out date call in push-to-trunk script for testability.
...
TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/98173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 12:38:25 +00:00
machenbach@chromium.org
0fd8169408
Fix change log generation in push-to-trunk script.
...
Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.
TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/99573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 09:13:51 +00:00
machenbach@chromium.org
010756b427
Add retry feature for push-to-trunk script.
...
Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/91733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:53:28 +00:00
machenbach@chromium.org
5201e8c396
Improve and refactor push-to-trunk script.
...
Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/83603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:20:39 +00:00
machenbach@chromium.org
416e82bb24
Pythonification and refactoring of push-to-trunk.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/81193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 09:48:43 +00:00
machenbach@chromium.org
870c32e4b1
Make auto-roll testable.
...
Refactor the mock code for easier reuse. Mock out web requests.
TEST=python -m unittest test_scripts
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/77453009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:56:00 +00:00
machenbach@chromium.org
121ef80c10
Let ChangeLog get auto-generated in push-to-trunk script.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/78683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:35:25 +00:00
machenbach@chromium.org
718b38648f
Force 'git cl upload' in push-to-trunk forced mode.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/77853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:53:11 +00:00
machenbach@chromium.org
8b38259728
Add forced mode to push-to-trunk script.
...
This CL depends on https://codereview.chromium.org/65933003/ .
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/67763005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:49:42 +00:00
machenbach@chromium.org
6fcd94cc7c
Refactor and improve bug line generation for push-to-trunk.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/65933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:25:17 +00:00
machenbach@chromium.org
775201dbd1
Add initial auto-roll script.
...
To be called with a cron job.
TEST=tools/push-to-trunk/auto_roll.py
TODO: Add a revision filter to allow "MIPS" related changes to take over the lkgr.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/70373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:10:47 +00:00
machenbach@chromium.org
c0b7020983
Refactor ChangeLog generation for push-to-trunk script.
...
This extracts the Git-independent part of the change log body generation. This CL intends no change in behavior.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/61263011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:34:32 +00:00
machenbach@chromium.org
f27eca66b3
Add more test coverage to push-to-trunk script.
...
Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/70143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 13:11:15 +00:00
machenbach@chromium.org
a8f77a54cf
Add push-to-trunk python port.
...
Preliminary version.
TODO: Add wrapper script in tools dir.
TODO: Some refactoring.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/49653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:27:16 +00:00