Commit Graph

24 Commits (82aeb5bd1349a99504d6eb7aca288e7c265ec9d8)

Author SHA1 Message Date
Dan Jacques 82aeb5bd13 [bot_update] Print Python version.
Print the Python version during "bot_update". This is useful for
visually auditing the environment in which things are running.

BUG=None
TEST=None
R=iannucci@chromium.org

Change-Id: I92be8a888e6f1e5c17205665dff36378e641cd81
Reviewed-on: https://chromium-review.googlesource.com/636450
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
John Budorick cba3ea7973 Generalize git index refresh to bot_update. (RELAND)
Reland of https://chromium-review.googlesource.com/c/580327/

TBR=iannucci@chromium.org
Bug: 746763
Change-Id: Icc3be87faa6c614a09b7406ce6e748abb2ad82da
Reviewed-on: https://chromium-review.googlesource.com/581268
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
8 years ago
John Budorick a3a515a470 Revert "Generalize git index refresh to bot_update."
This reverts commit 06e1aa0769.

Reason for revert: blocking Skia roll, at least.

Original change's description:
> Generalize git index refresh to bot_update.
> 
> Bug: 746763
> Change-Id: Id0cc8fd672421fe4049334077c6d1e63800524ee
> Reviewed-on: https://chromium-review.googlesource.com/580327
> Commit-Queue: John Budorick <jbudorick@chromium.org>
> Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,dpranke@chromium.org,jbudorick@chromium.org

Change-Id: I834e2acd17417c95d42e18fa26bba822c6f67007
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 746763
Reviewed-on: https://chromium-review.googlesource.com/580767
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
8 years ago
John Budorick 06e1aa0769 Generalize git index refresh to bot_update.
Bug: 746763
Change-Id: Id0cc8fd672421fe4049334077c6d1e63800524ee
Reviewed-on: https://chromium-review.googlesource.com/580327
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Michael Achenbach 7dadf05dad Query Gerrit for destination branch in bot_update
This makes bot_update query Gerrit when syncing for Gerrit tryjobs.

The query will establish the actual destination branch of the CL,
which can be different from master (e.g. a feature branch).

Bot_update will ensure to use this destination branch for the repo
that corresponds to the CL's project. Both the main project or a
deps'ed project work.

Initially, this lives behind a flag that can be controlled in
downstream recipes. Eventually we'll set this to default after a
gradual roll-out.

Branches in branch-heads are not supported yet.

Bug: 740456
Change-Id: I4a0d50e2ca8fe90f8d29964a3ffab17291f7be60
Reviewed-on: https://chromium-review.googlesource.com/566824
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Dan Jacques 70b3f3aae5 [bot_update] Pass spec as file.
"bot_update" currently passes a full "gclient" specification as a
command-line argument to "bot_update.py". This file contains all sorts
of junk that clutters the command-line, and revealed a batch file
escaping bug that seems to be present in the recipe engine. Change this
so that "bot_update" passes the spec as file content instead of a
command-line flag.

Also, "bot_update" apparently called "--spec", which optparse kindly
recognized as the real flag, "--specs". This has always(?) been a bug,
and is no longer a problem.

BUG=chromium:738348
TEST=expectations

Change-Id: I5324b94dd5ef78503e7cfdc28b5fde8f434e4359
Reviewed-on: https://chromium-review.googlesource.com/558207
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Dan Jacques 59a74ed558 Add cleanup dir, use with bot_update.
Currently, "bot_update" relies on a BuildBot cleanup mechanism and, to a
lesser extent, the standard BuildBot directory layout. Both of these are
problematic when projecting it into other circumstances, notably
"remote_run" and LUCI.

Have "bot_update" handle its own cleanup. It will now choose a cleanup
directory within the hierarchy of its checkout, and explicitly purge it
prior to execution if it exists. This enforces its expected behavior in
all circumstances and removes its expectations of the greater checkout
layout.

Export "cleanup_dir" via "infra_paths" to point to "build.dead" when
running on BuildBot builds. Otherwise, it is a default directory which,
on Kitchen, is ephemeral by design.

BUG=chromium:725631
TEST=expectations

Change-Id: I664434c542a25aaa7ff3eac216208a2425730fde
Reviewed-on: https://chromium-review.googlesource.com/528057
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dave Tu f1631cd003 [bot_update] Remove extraneous slash in revision parsing.
`parsed_root.path` already contains the leading slash in the the URL, so adding
an additional slash gives an incorrect URL.

Change-Id: I84f04179356bb132a31531232a5c30c7808f7c1b
Reviewed-on: https://chromium-review.googlesource.com/520724
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: David Tu <dtu@chromium.org>
8 years ago
Paweł Hajdan, Jr c515a8bc46 bot_update: expose --disable-syntax-validation to recipes
Some recipes interacting with older revisions (e.g. bisect)
will need this.

Bug: 570091
Change-Id: I38e5ffa2db1a9bfae3667f015f00977c32ebe51e
Reviewed-on: https://chromium-review.googlesource.com/519407
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 7adb584516 [bot_update] Remove retry logic.
Retries are no longer necessary, since the Git wrapper will retry all
transient Git operations.

BUG=None
TEST=None
R=hinoka@chromium.org, iannucci@chromium.org

Change-Id: I18f066004992c98e54665833360944cc7d6550cc
Reviewed-on: https://chromium-review.googlesource.com/506375
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
8 years ago
Andrii Shyshkalov 90e958b3b8 bot_update: set fake user.{name,email} when running rebase.
R=agable@chromium.org,sergeyberezin@chromium.org,iannucci@chromium.org
BUG=722853

Change-Id: I9bd8c259a87cc65e320e99d9c5e18838b970d543
Reviewed-on: https://chromium-review.googlesource.com/505495
Reviewed-by: Sergey Berezin <sergeyberezin@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Dan Jacques a3ba888db8 [bot_update] Remove "git retry" call.
The Git wrapper now implicitly retries, so this call is unnecessary.

BUG=chromium:721450
TEST=None
R=hinoka@chromium.org, iannucci@chromium.org

Change-Id: I79e42aa050f6fec14506b685d379a76e8296fea3
Reviewed-on: https://chromium-review.googlesource.com/506493
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Andrii Shyshkalov 04b51d6de0 Reland of Relax git_footers parsing to match that of Gerrit (JGit).
Previously landed as:
> Change-Id: Ieb6415d55e85b91f11f9052b0fd08cf982b64d51
> Reviewed-on: https://chromium-review.googlesource.com/501849

R=agable@chromium.org,machenbach@chromium.org

Bug: 717504
Change-Id: Iede5c29ff4c317b68d8c2bca319edec140a176f5
Reviewed-on: https://chromium-review.googlesource.com/502908
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov 43ec62ec71 Revert "Relax git_footers parsing to match that of Gerrit (JGit)."
This reverts commit 28a5d5defd.

Reason for revert: breaks assumption in function for adding footers

Original change's description:
> Relax git_footers parsing to match that of Gerrit (JGit).
> 
> R=​agable@chromium.org
> 
> Bug: 717504
> Change-Id: Ieb6415d55e85b91f11f9052b0fd08cf982b64d51
> Reviewed-on: https://chromium-review.googlesource.com/501849
> Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>
> 

TBR=agable@chromium.org,machenbach@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Bug: 717504

Change-Id: I9b4d619b2972be8434aff9464f1959fbcb3abd32
Reviewed-on: https://chromium-review.googlesource.com/503030
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 28a5d5defd Relax git_footers parsing to match that of Gerrit (JGit).
R=agable@chromium.org

Bug: 717504
Change-Id: Ieb6415d55e85b91f11f9052b0fd08cf982b64d51
Reviewed-on: https://chromium-review.googlesource.com/501849
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov e0a1afbf4b Fix bot_update parsing of gerrit footers with empty values.
Follow up based on https://chromium-review.googlesource.com/487963

R=agable@chromium.org, machenbach@chromium.org, maruel@chromium.org

Bug: 715614,717504
Change-Id: I0902647c8fa8a2ff9643890c029fc8b75a72ff7e
Reviewed-on: https://chromium-review.googlesource.com/493466
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
8 years ago
Michael Achenbach 86989d7b0f Reland "Remove obsolete bot_update flag"
This reverts commit c91686c087.

Reason for revert: Reland a light version of the original CL that keeps a dummy flag around.

Original change's description:
> Revert "Remove obsolete bot_update flag"
> 
> This reverts commit 72048266d5.
> 
> Reason for revert: Skia depends on it. Need to clean that up first. Currently blocks roll:
> https://skia-review.googlesource.com/c/14145/
> 
> Original change's description:
> > Remove obsolete bot_update flag
> > 
> > Using the manifest is the default since a long time. The flag was only introduced to smoothly switch it on. Now the flag is not needed anymore.
> > 
> > Bug: 398105
> > Change-Id: I4eb1c98e26e025a69f8b0a7c48877d78c031702e
> > Reviewed-on: https://chromium-review.googlesource.com/485659
> > Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
> > Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
> > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> > 
> 
> TBR=phajdan.jr@chromium.org,machenbach@chromium.org,tandrii@chromium.org,sergiyb@chromium.org,chromium-reviews@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: Iffc4d8076abd3c92feebfd7f3ef88be7ce34b692
> Reviewed-on: https://chromium-review.googlesource.com/486639
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> 

R=phajdan.jr@chromium.org,machenbach@chromium.org,tandrii@chromium.org,sergiyb@chromium.org,chromium-reviews@chromium.org
Bug: 398105

Change-Id: I817d446f8a8eff84c5d7143ac2b9c527a40991f1
Reviewed-on: https://chromium-review.googlesource.com/486640
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Michael Achenbach c91686c087 Revert "Remove obsolete bot_update flag"
This reverts commit 72048266d5.

Reason for revert: Skia depends on it. Need to clean that up first. Currently blocks roll:
https://skia-review.googlesource.com/c/14145/

Original change's description:
> Remove obsolete bot_update flag
> 
> Using the manifest is the default since a long time. The flag was only introduced to smoothly switch it on. Now the flag is not needed anymore.
> 
> Bug: 398105
> Change-Id: I4eb1c98e26e025a69f8b0a7c48877d78c031702e
> Reviewed-on: https://chromium-review.googlesource.com/485659
> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
> Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> 

TBR=phajdan.jr@chromium.org,machenbach@chromium.org,tandrii@chromium.org,sergiyb@chromium.org,chromium-reviews@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iffc4d8076abd3c92feebfd7f3ef88be7ce34b692
Reviewed-on: https://chromium-review.googlesource.com/486639
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
8 years ago
Michael Achenbach 72048266d5 Remove obsolete bot_update flag
Using the manifest is the default since a long time. The flag was only introduced to smoothly switch it on. Now the flag is not needed anymore.

Bug: 398105
Change-Id: I4eb1c98e26e025a69f8b0a7c48877d78c031702e
Reviewed-on: https://chromium-review.googlesource.com/485659
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
8 years ago
Michael Achenbach 81b4d420bf Reverse got_revision_mapping in bot_update
This is the first step in reversing got_revision_mapping.

This CL:
- Adds a new configuration got_revision_reverse_mapping.
- Ensures only the old or the new configuration is used.
- Transforms the old to the new configuration within bot_update.

In follow up CLs we will migrate all clients to the new mapping, then delete the old and rename the new again.

Bug: 713356
Change-Id: Icdbd6a3748c6e5399b9c4867a3d8292973325160
Reviewed-on: https://chromium-review.googlesource.com/483479
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 8dd4edae99 bot_update: Show failed patch in "Patch Failure".
Have "bot_update.py" export the failing patch body in its JSON. Have the
recipe actually emit the patch body in the "Patch Failure" step instead
of the "bot_update" step, and remove the "Patch Failure" step's
indirection to the "bot_update" step for patch failure.

This will provide a more straightforward user interface: the red step
that says "Patch Failure" now includes the details of the patch failure!

BUG=chromium:710477
TEST=expectations

Change-Id: I6ad305f0b972de89e4f0b5eb70edf41980447abd
Reviewed-on: https://chromium-review.googlesource.com/475950
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
8 years ago
Paweł Hajdan, Jr 7ac2c9a292 bot_update: add --with_tags switch
Bug: 710817
Change-Id: Ice7cefaf5c5a5cac431a95d3adfa44f323eafb2f
Reviewed-on: https://chromium-review.googlesource.com/475230
Reviewed-by: Michael Moss <mmoss@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
Paweł Hajdan, Jr f83e262e6d Adjust paths in bot_update.py after moving recipes to subdir
Bug: 699120, 704864
Change-Id: Iea62a8382ae2553af3f080f07358de53c278ad7c
Reviewed-on: https://chromium-review.googlesource.com/459496
Reviewed-by: Emma Söderberg <emso@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
Paweł Hajdan, Jr f14709556d Move recipes to their own subdirectory
This will help remove confusion when depot_tools' recipes.py
ends up in PATH.

BUG=699120

Change-Id: Id4c21b0cc6bb022ea2c21145abe76bebb0a8d9c1
Reviewed-on: https://chromium-review.googlesource.com/458430
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago