29 Commits

Author SHA1 Message Date
kjellander
91718a1629 Roll script: Update after SVN support was dropped from depot tools
After https://codereview.chromium.org/2404413002 PyLint started
failing for our roll script. This fixes that.

BUG=webrtc:6544
TBR=phoglund@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2425923002
Cr-Commit-Position: refs/heads/master@{#14654}
2016-10-18 08:15:05 +00:00
Henrik Kjellander
0bb7f0594a Add BUG=None to autoroll CLs for chromium_revision in DEPS.
TBR=ehmaldonado@webrtc.org
BUG=None

Review URL: https://codereview.webrtc.org/2355383003 .

Cr-Commit-Position: refs/heads/master@{#14338}
2016-09-21 21:11:41 +00:00
Peter Boström
c21560b3e1 Remove pbos@webrtc.org from autoroll TBRs.
BUG=
TBR=kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/2259933002 .

Cr-Commit-Position: refs/heads/master@{#13824}
2016-08-18 19:10:49 +00:00
stefan
a540ada1e1 Remove stefan@webrtc.org from libvpx roll notification.
TBR=kjellander@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2159873003
Cr-Commit-Position: refs/heads/master@{#13498}
2016-07-18 18:15:59 +00:00
kjellander
052af4cea2 autoroller: Use 10 characters for shortened Git hashes.
Recently, the shortened hash
https://chromium.googlesource.com/chromium/src/+/355fabf
was not suffucient for the Chromium repo. Adding three more
should reduce the chance of this happening by 16^3.

NOTRY=True

Review URL: https://codereview.webrtc.org/1841563004

Cr-Commit-Position: refs/heads/master@{#12156}
2016-03-30 09:30:59 +00:00
Henrik Kjellander
e496badf3c autoroller: Remove sending tryjobs (done via CQ).
Skip running 'git cl try' since tryjobs are sent when
the CL is sent to the CQ anyway.

BUG=
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1746993003 .

Cr-Commit-Position: refs/heads/master@{#11827}
2016-03-01 10:30:36 +00:00
kjellander
3860c7f873 Fix parsing of CLANG_REVISON from tools/clang/scripts/update.py
The regex didn't match the revision before after the switch
from tools/clang/scripts/update.sh to
tools/clang/scripts/update.py.
This should have been done in https://codereview.webrtc.org/1493683003
when the filename changed.

TESTED=Ran the script and verified parsing worked and showed
the currently pending Clang change in ongoing roll in
https://codereview.webrtc.org/1593713013/
NOTRY=True

Review URL: https://codereview.webrtc.org/1608813002

Cr-Commit-Position: refs/heads/master@{#11299}
2016-01-19 10:04:49 +00:00
kjellander@webrtc.org
29e30039b0 Bring back baremetal trybots to the default set.
These bots were removed with the reasoning that they were
slowing down the CQ. However the Android bots are still our
bottleneck, so it makes sense to run them by default instead.

Update the autoroll script to not specify them as EXTRA_TRYBOTS.

R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1496863003 .

Cr-Commit-Position: refs/heads/master@{#10884}
2015-12-03 14:04:58 +00:00
kjellander
917ba527bc autoroll: Update Clang script path.
tools/clang/scripts/update.sh was deleted in
656a6433ab
so now the update.py is used on all platforms.
Update our autoroll script accordingly.

NOTRY=True

Review URL: https://codereview.webrtc.org/1493683003

Cr-Commit-Position: refs/heads/master@{#10879}
2015-12-03 08:00:12 +00:00
Henrik Kjellander
4de30ac99a Update moved find_depot_tools.py script location
The script moved from /tools to /build in
https://codereview.chromium.org/1418513007
and we haven't noticed due to cached .pyc files.

We could add a cleaning of .pyc files similar to
https://codereview.chromium.org/1186593003 but I think
that's overkill for WebRTC.

BUG=
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1409353014 .

Cr-Commit-Position: refs/heads/master@{#10526}
2015-11-05 15:42:55 +00:00
Henrik Kjellander
42b6c634f0 autoroller: Allow to specify Rietveld e-mail.
This is useful in order to specify which account to be used
for creating the Rietveld CL.
Always pass -f to force yes to any prompts during uplaod.

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1383203002 .

Cr-Commit-Position: refs/heads/master@{#10165}
2015-10-05 08:44:34 +00:00
Henrik Kjellander
417fec21f6 autoroller: Add CQ_EXTRA_TRYBOTS, CQ feature and --skip-cq flag.
Always send the CL to the CQ, except if --skip-cq is provided.
Add extra CQ trybots, since the baremetal ones are no longer the default.

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1375153004 .

Cr-Commit-Position: refs/heads/master@{#10146}
2015-10-02 11:39:59 +00:00
Henrik Kjellander
a9c584d465 autoroller: Always roll and improve description
In order to minimize bisection ranges when the roll breaks, we want
to update the chromium_revision as often as possible.
Even if a roll doesn't bring in changed dependencies or Clang version,
it still brings in changes in the Chromium build toolchain.

The description now contains links to all dependencies that change
(if any).

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1381963003 .

Cr-Commit-Position: refs/heads/master@{#10141}
2015-10-02 07:12:10 +00:00
Henrik Kjellander
6c2ba7d13c autoroller: Add TBR= field and always update the checkout
Add a TBR= field to enable automated rolling. In some cases, add a
committer to the field, for other rolls: leave it empty.

Always run 'git pull', even if --dry-run is specified, as
it is often used to just generate an updated commit message to
update an existing CL with when updating it to match fixes in Chromium.

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1369333010 .

Cr-Commit-Position: refs/heads/master@{#10140}
2015-10-02 07:03:26 +00:00
Henrik Kjellander
18b042f834 autoroller: Use HEAD instead of LKGR.
Since LKGR is sometimes lagging behind, always use HEAD to
minimize the number of commits to bisect when something breaks for us.
As long as the rolls are passing our CQ, we should be fine.

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1379173002 .

Cr-Commit-Position: refs/heads/master@{#10139}
2015-10-02 07:01:53 +00:00
Henrik Kjellander
44d5d7ba42 Autoroll: Update checkout before reading chromium_revision.
Ensure the checkout is updated _before_ reading the current
revision from the DEPS file. This will avoid errors when a checkout
is not up to date, as updating happened after reading the revision
before this change.

BUG=webrtc:4688
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1361923004 .

Cr-Commit-Position: refs/heads/master@{#10071}
2015-09-25 11:21:55 +00:00
Henrik Kjellander
ec0feb6ddf Add --skip-try flag to autoroll script.
This is useful when the patch needs additional modifications before
being sent to the tryjobs.

BUG=
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1335353004 .

Cr-Commit-Position: refs/heads/master@{#9943}
2015-09-15 14:00:42 +00:00
Henrik Kjellander
1b76ca121e Auto-roll script: Add dirty tree check and git pull
BUG=4688
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1173523003

Cr-Commit-Position: refs/heads/master@{#9399}
2015-06-09 10:58:54 +00:00
Henrik Kjellander
14771ac6bf Fix Python lint and unit tests
One of the unit tests added in
https://webrtc-codereview.appspot.com/50079004/ is failing
on Windows since os.sep is a backslash on Windows.
The code is based on the contents of the DEPS file rather than
the filesystem, so the right thing is to use '/' instead of os.sep.

The PyLint blacklist also didn't work on Windows, causing it
to process a massive list of files during presubmit.

I also added a bunch of new entries to speed up lint execution on
all platforms.

TESTED=Ran the presubmit with this CL on Windows and Linux.
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52029004

Cr-Commit-Position: refs/heads/master@{#9353}
2015-06-02 11:10:13 +00:00
Henrik Kjellander
8d3ad82d30 Script for auto-rolling chromium_revision in DEPS.
The previous script only looked up the LKGR and generated a
commit message. This CL renames the script and makes it update
the DEPS file, commit locally, upload CL and send tryjobs.

BUG=4688
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50079004

Cr-Commit-Position: refs/heads/master@{#9284}
2015-05-26 17:52:10 +00:00
Henrik Kjellander
57e5fd2e60 PRESUBMIT: Improve PyLint check and add GN format check.
Add pylintrc file based on
https://code.google.com/p/chromium/codesearch#chromium/src/tools/perf/pylintrc
bit tightened up quite a bit (the one in depot_tools is far
more relaxed).

Remove a few excluded directories from pylint check and fixed/
suppressed all warnings generated.

Add GN format check + formatted all GN files using 'gn format'.
Cleanup redundant rules in tools/PRESUBMIT.py

TESTED=Ran 'git cl presubmit -vv', fixed the PyLint violations.
Ran it again with a modification in webrtc/build/webrtc.gni, formatted
all the GN files and ran it again.

R=henrika@webrtc.org, phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50069004

Cr-Commit-Position: refs/heads/master@{#9274}
2015-05-25 10:55:50 +00:00
Henrik Kjellander
a26c4e5df6 Script to generate CL descriptions when rolling chromium_revision.
Having nice CL descriptions that explains what a roll of
chromium_revision in WebRTC's DEPS file actually changes is
useful to save time tracing down breakages.
This script can be used to generate such CL descriptions.
In the future it might be used for a complete auto-rolling
solution for this.

BUG=4688
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27889004

Cr-Commit-Position: refs/heads/master@{#9270}
2015-05-23 09:55:46 +00:00
Henrik Kjellander
507a550af8 Delete auto-roll script since moved into Chromium.
Keeping the script for rolling WebRTC in this repository
didn't make any sense. The script is being added into src/tools
of Chromium in https://codereview.chromium.org/1114933002/,
which also simplifies the script.

R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49209004

Cr-Commit-Position: refs/heads/master@{#9139}
2015-05-06 08:32:51 +00:00
kjellander@webrtc.org
1e6925274a Write commit position as a comment in Chromium DEPS.
This will make it easier to track which revision is
in a certain Chrome release, since you don't have to
look up the Git hash every time.

Also rename svn_revision to commit_position to make
it more clear what the number is in the post-SVN era.

TESTED=tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /ssd/chrome/src --verbose --ignore-checks --dry-run --close-previous-roll
and verified in the modified DEPS file that the comment was set.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49439004

Cr-Commit-Position: refs/heads/master@{#8756}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8756 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:30:22 +00:00
kjellander@webrtc.org
eb44fd6e81 Add flag to always close previous roll + minor refactor
The --close-previous-roll makes it possible to always
close a previously created roll when creating a new one.
This way it will be possible to avoid getting a pile of
open CLs created and never closed for all failed
roll attempts, which is useful for automation.

I also moved some variables out of the AutoRoller
class that doesn't neeed to be there.

BUG=chromium:433305
TESTED=Ran:
tools/autoroller/roll_webrtc_in_chromium.py --verbose --close-previous-roll
and verified it actually closed an existing roll.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40349004

Cr-Commit-Position: refs/heads/master@{#8726}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8726 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-14 22:03:44 +00:00
kjellander@webrtc.org
c449c20f4d Flag to wait for trybots to complete.
Add a --wait-for-trybots flag that will have the script look for
a previously created roll and poll the trybot status until at least
one trybot has failed or all have compelted successfully.

BUG=chromium:433305
TESTED=Ran:
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /ssd/chrome/src --verbose
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /ssd/chrome/src --verbose --wait-for-trybots

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45659004

Cr-Commit-Position: refs/heads/master@{#8718}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8718 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 14:08:53 +00:00
kjellander@webrtc.org
dd0292a774 Send to CQ by default and add --no-commit flag + cleanup.
Send the created CL to the CQ right away upon creation.
Add a --no-commit flag that can be specified to avoid that.
Remove the trybot status feature (--status) and the commit CL
feature (--commit).

BUG=chromium:433305
TESTED=Ran:
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /ssd/chrome/src --dry-run --ignore-checks
and verified it didn't trigger tryjobs or sent to CQ. Then I ran:
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /ssd/chrome/src --ignore-checks
and verified it was sent to CQ.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42739004

Cr-Commit-Position: refs/heads/master@{#8715}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8715 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 09:31:31 +00:00
kjellander@webrtc.org
d71fc87225 Make auto-roll script work with separate Chromium checkouts.
* Add optional --chromium-checkout flag to point out the Chromium checkout to
work in (automatic fallback to current working dir if that's a Chromium checkout).
* Introduce logging and --verbose flag.
* Make functions private and adopt Python style guide.
* Made --dry-run perform the presubmit checks and other stuff for --commit, except the actual commit.
* Add EDITOR=true environment to 'git cl upload' to avoid launching an interactive editor.
* Removed interactive invocation of 'git cl upload' and 'git cl land'

BUG=chromium:433305
TESTED=Muliple local runs using:
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /path/to/chrome/src --dry-run --verbose
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /path/to/chrome/src --dry-run --abort
tools/autoroller/roll_webrtc_in_chromium.py --chromium-checkout /path/to/chrome/src --dry-run --status
cd /path/to/chrome/src
/path/to/webrtc/src/tools/autoroller/roll_webrtc_in_chromium.py --dry-run --verbose

R=phoglund@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46559004

Cr-Commit-Position: refs/heads/master@{#8694}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8694 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 10:56:13 +00:00
kjellander@webrtc.org
f4e2060f09 Script to roll WebRTC in Chromium DEPS
Adding a pristine copy (only changed license and ownerless
TODOs) of the script we've used to roll the WebRTC revision
in Chromium DEPS.
This script assumes being located inside a Chromium checkout,
so a follow-up CL will be created for review of the required
changes for that before it can be used.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47499004

Cr-Commit-Position: refs/heads/master@{#8675}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8675 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 20:47:46 +00:00