Commit Graph

131 Commits (31f3e63cbc8d86bc4b012bd44b1e44336002a23d)

Author SHA1 Message Date
Daniel Jacques 31f3e63cbc Revert "Revert "[tryserver] Remove unused methods.""
This reverts commit cc27ecb005.

Reason for revert: Published this method downstream to internal repo.

Original change's description:
> Revert "[tryserver] Remove unused methods."
> 
> This reverts commit 133ac1ab8d.
> 
> Reason for revert: Turns out these are used by internal recipes.
> 
> Original change's description:
> > [tryserver] Remove unused methods.
> > 
> > R=​agable@chromium.org, dnj@chromium.org, hinoka@chromium.org
> > 
> > Bug:
> > Change-Id: I82a11f31c8c1c4c4a2b461090e5aee637f8821c2
> > Reviewed-on: https://chromium-review.googlesource.com/569019
> > Reviewed-by: Nodir Turakulov <nodir@chromium.org>
> > Reviewed-by: Aaron Gable <agable@chromium.org>
> > Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
> 
> TBR=iannucci@chromium.org,hinoka@chromium.org,agable@chromium.org,dnj@chromium.org,nodir@chromium.org
> 
> Change-Id: Ib1d4192520a36f649f1f9b31e2928027667311d4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/570988
> Reviewed-by: Daniel Jacques <dnj@chromium.org>
> Commit-Queue: Daniel Jacques <dnj@chromium.org>

TBR=iannucci@chromium.org,hinoka@chromium.org,agable@chromium.org,dnj@chromium.org,nodir@chromium.org

Change-Id: Id7ac3555d40162e4204ceac5e96c2e3864c67aba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/570781
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Daniel Jacques cc27ecb005 Revert "[tryserver] Remove unused methods."
This reverts commit 133ac1ab8d.

Reason for revert: Turns out these are used by internal recipes.

Original change's description:
> [tryserver] Remove unused methods.
> 
> R=​agable@chromium.org, dnj@chromium.org, hinoka@chromium.org
> 
> Bug:
> Change-Id: I82a11f31c8c1c4c4a2b461090e5aee637f8821c2
> Reviewed-on: https://chromium-review.googlesource.com/569019
> Reviewed-by: Nodir Turakulov <nodir@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,hinoka@chromium.org,agable@chromium.org,dnj@chromium.org,nodir@chromium.org

Change-Id: Ib1d4192520a36f649f1f9b31e2928027667311d4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/570988
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Michael Achenbach 02e59414c1 Fix bot_update's usage of the destination branch
The previously passed branch:HEAD notation is understood by bot_update
for the main project, but not by gclient for deps'ed projects.

We don't need the colon notation at all as passing a branch implies
using the HEAD of that branch.

Bug: 740456
Change-Id: I95eb88f0de2e06bee8a3e7db24c4ad85cdb76d3e
Reviewed-on: https://chromium-review.googlesource.com/566866
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
8 years ago
recipe-roller 83eb1cd51b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/da3467b4dd873c8d9d4858b223dd7aaa64e78670 Recursively apply recipe overrides (phajdan.jr@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7349f2256f4d9b47bf5a4d6063d22e0b837cfe17
Reviewed-on: https://chromium-review.googlesource.com/569415
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
Robert Iannucci 133ac1ab8d [tryserver] Remove unused methods.
R=agable@chromium.org, dnj@chromium.org, hinoka@chromium.org

Bug:
Change-Id: I82a11f31c8c1c4c4a2b461090e5aee637f8821c2
Reviewed-on: https://chromium-review.googlesource.com/569019
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 9d842babcf [recipe_modules/git] Remove logging.
"git_setup.py" does not use "logging". Remove it.

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

Change-Id: Ia31882966bac056899308a67284f8fde15c7b0e0
Reviewed-on: https://chromium-review.googlesource.com/569101
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 209a681f9c [git] Remove hard-coded "depot_tools" Git.
Several tools, including the "git" recipe module, hard-code a
checkout-relative "git.bat" path. Git is a feature that is provided by
the system, both to tooling and recipes:

1) For users, "depot_tools" must be on PATH, and during setup it will
   have installed "git.bat", ensuring that Git tooling is available in
   PATH.
2) For bots, the system is responsible for providing "git.bat" on PATH.
   This is typically done at "/b/depot_tools/git.bat", which is sync'd
   through the "update_scripts" step.

By formally treating Git as a system resource, we absolve Windows bots
and users from manually installing a depot_tools-local Git, bringing
them in line with other platforms.

BUG=chromium:590806
TEST=local

Change-Id: I93e89855cdd330a2ba7a8cfb8117a1789d1ab54e
Reviewed-on: https://chromium-review.googlesource.com/568694
Commit-Queue: Daniel Jacques <dnj@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
recipe-roller b80fac66ad Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/3d76281f54f9d0568fcbae1acbf884c86fbb29a7 [uuid] Remove unused uuid module (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I395cafcd2aca4eb02492ce90dcc412601253a39d
Reviewed-on: https://chromium-review.googlesource.com/567478
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
Paweł Hajdan, Jr 24025d3e71 tryserver: add support for gerrit footers
Bug: 644609
Change-Id: Ied7439d688b89f90b9705968927521b5060c5fb4
Reviewed-on: https://chromium-review.googlesource.com/565564
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Michael Achenbach 49b8147be0 Add support to query a CL's branch to gerrit recipe module
Bug: 740456
Change-Id: Ic4f3c1f046cfa025d8e60172ee58e2b2e1b76ee6
Reviewed-on: https://chromium-review.googlesource.com/565560
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Michael Achenbach 9cb802ca48 Improve gerrit recipe_module example
The /a suffix in the hots URL is not necessary as the gerrit_util adds it by
default to authenticate. Having it hard-coded in the example can be misleading.

Bug: 685318
Change-Id: I333cd8b2aa9020aadfd186f2e18fbff0aa917681
Reviewed-on: https://chromium-review.googlesource.com/564611
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
8 years ago
recipe-roller 8af4646948 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/9959b0728785d9f5e7110e4db516f7cf09090bed Remove shutil module. (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iebb3ba8b4ae2051b33345702f6f85ed04cacc937
Reviewed-on: https://chromium-review.googlesource.com/564018
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller b12c5256f9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/26475d6816d9e1f79dc23d0cf5714e6fda5573aa Add more experimental downstream trybots (phajdan.jr@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic984a8f1c8505e9a251b737d3468ef2ac2050714
Reviewed-on: https://chromium-review.googlesource.com/563997
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller 016f92e6f5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/5c349eb803f77edd0458b36e41bfdf17ebf4eab9 [file] allow glob to handle nested patterns (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6a01f7ed504870a2b7b25341165a5cb01027de05
Reviewed-on: https://chromium-review.googlesource.com/563859
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller 6850698593 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/12e7ca450489763234b7380edddfddc8d9e3cb8f recipes.py test: enforce recipe expectations literally (phajdan.jr@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic2ed0099adf5d1254d077ef189087bc5390f361c
Reviewed-on: https://chromium-review.googlesource.com/563236
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller e36a84317b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/241ddc299faa009b8842f95d40fdd7760b81791e [file] fix glob_paths when NO paths match, add tests. (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I706bcd7efa2ed820ca05adb8ae026c0ed734f229
Reviewed-on: https://chromium-review.googlesource.com/562241
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
Michael Achenbach 6fbf12f21c Enable query for changes in gerrit recipe module
This'll allow to query gerrit from recipes for e.g. current changes in
CQ.

Bug: 685318
Change-Id: I73d08d4b186b2e5fe044fd4d4fafd9db62e27066
Reviewed-on: https://chromium-review.googlesource.com/558939
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
recipe-roller a8fdab966f Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/11d7598fa760017f168aec1c53a9ced74b2fc8a6 [file] Allow placeholders in file.copy (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0c4b2d35f805aaeb647a574aa6d62fa5caeea1ef
Reviewed-on: https://chromium-review.googlesource.com/560737
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller 6a1ab84339 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/9419a0e2ea6ab618b33a1e962ce62b36664e5234 [doc] Put all external URLs in a single section. (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I39a8a4934d27e1461379cf5be48f722cc571c103
Reviewed-on: https://chromium-review.googlesource.com/559511
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller 32f0e5d7af Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/4b6b21e529889fcb3f4b1128ddd0fb941210012a [doc] Fix randomization of DEPS link order, give DEPS links fully qualified names (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifb23eec7d9298dc5cd75536860e5374936fdeae8
Reviewed-on: https://chromium-review.googlesource.com/560130
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
recipe-roller bc9c5ccf00 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/3ac778ec88ee4a878bd75ab8a89162c848b3d1db [recipe_autoroller] regen docs on trivial rolls too. (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia2ec717f995182adb820c0773c11d060405d2223
Reviewed-on: https://chromium-review.googlesource.com/558153
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
8 years ago
Robert Iannucci 54adb2a31c Generate initial recipes README.
Tbr: dnj@chromium.org
Bug:
Change-Id: Icc87cb23571341835e54cc80210fa23bc33fb1f0
Reviewed-on: https://chromium-review.googlesource.com/558382
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
8 years ago
recipe-roller 603545b7ae Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c8d78bf15c065b5a35ccfc5798d1498d0899bb68 [doc] Automatically generate and update cross-indexed recipe markdown files. (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I64f3ebdbf1565f7f8c08c6e21df516f87533ac7b
Reviewed-on: https://chromium-review.googlesource.com/558392
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@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 dc598e8223 [bot_update] Prefix PATH, cleanup.
Prefix "depot_tools" to PATH instead of appending. This will ensure that
"depot_tools" pulls resources from the recipe checkout as a preference,
not as a last resort.

Use "env_prefixes" instead of "env" to prefix PATH.

Remove Git speed limit settings, which are taken care of by the Git
wrapper now.

BUG=chromium:738176
TEST=expectations
R=hinoka@chromium.org, iannucci@chromium.org

Change-Id: I2e509a331266e867be323bc70e3bc0f08f85246f
Reviewed-on: https://chromium-review.googlesource.com/556287
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
recipe-roller 1de920efed Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/060325b14d5a63ce65e65d93052b265ee310a828 [path] Cleanup and use "C:\" for test Windows base (dnj@chromium.org)
  https://crrev.com/96221bce29d908b951812550036f42520f085dec [generator_script] Make allowed keys strict and improve error handling. (iannucci@chromium.org)
  https://crrev.com/cfff93afa16e61285e295d49f6aa2ba64642f330 [path] bring PLATFORM back to config. (iannucci@chromium.org)


R=martiniss@chromium.org, phajdan.jr@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I214f2a5a0f39b09d7c401da8f997545336335bbb
Reviewed-on: https://chromium-review.googlesource.com/531974
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Robert Iannucci 3a4a725026 [recipes] add .gitattributes for proper recipe bundling
R=dnj@chromium.org

Bug: 662654
Change-Id: Ic5a59eeb67c435d54878ef5f060399f6b2963cd4
Reviewed-on: https://chromium-review.googlesource.com/523015
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
8 years ago
Dan Jacques a07816ddce [infra_paths] Don't export "cleanup" for remote.
"remote_run" builds explicitly supply a cleanup directory in recipe
properties, so it isn't necessary to supply it here.

BUG=chromium:725631
TEST=None
TBR=iannucci@chromium.org

Change-Id: I6eaaeea14bd699181d7ceeff6b3baac2d1cd9861
Reviewed-on: https://chromium-review.googlesource.com/528630
Reviewed-by: Daniel Jacques <dnj@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
recipe-roller 459b67de81 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/154ef7e5d8f964ef30b1250dd33751582705f6f2 [path] Add concept of a "cleanup" directory. (dnj@chromium.org)


R=dnj@chromium.org, martiniss@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I31787615cfaa6f33deae6c1c0c3d7b748c222d05
Reviewed-on: https://chromium-review.googlesource.com/527503
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Daniel Jacques <dnj@chromium.org>
8 years ago
Robert Iannucci 027a542485 [infra_paths] remove unused goma_deps_cache.
R=dnj@chromium.org

Bug:
Change-Id: I69d2e75a7a6784a611f6e0128f1ba5617f009af2
Reviewed-on: https://chromium-review.googlesource.com/528320
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Commit-Queue: 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
Robert Iannucci 56038f517d rename example.py -> examples/full.py for all modules
R=dnj@chromium.org, nodir@chromium.org, phajdan.jr@chromium.org

Bug:
Change-Id: I47d8f9311b6ee71583fb989888a1e4d28b5495df
Reviewed-on: https://chromium-review.googlesource.com/520731
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
8 years ago
Paweł Hajdan, Jr 6cfe8d4301 Add disable_syntax_validation gclient config to easily whitelist builders
Bug: 570091
Change-Id: Icb15bcd354c9b524674c6b4496f430c26cf7b89e
Reviewed-on: https://chromium-review.googlesource.com/521482
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
recipe-roller 37f51493cb Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/458ce956c9d91d184e0107c5fa6b34a8267b8e9b [step_runner] run _merge_envs in simulation too. (iannucci@chromium.org)


R=martiniss@chromium.org, phajdan.jr@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0d60499b06718827776739eb0413a79baa15cd9e
Reviewed-on: https://chromium-review.googlesource.com/520462
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@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 fe92995d40 [cipd] Allow packaging whole root.
Currently, the "cipd" recipe module allows a package to be created by
adding directories to a PackageDefinition via "add_dir". However, there
is no current way to add the entirety of a root directory to a package.
The PackageDefinition will generate a relative path of "''", which CIPD
will reject as empty.

Make it so that if the user supplies the root directory as the directory
to add to the package, it properly includes it as ".".

BUG=None
TEST=local
  - Ran recipe with this modification, seems to work

R=iannucci@chromium.org, nodir@chromium.org, vadimsh@chromium.org

Change-Id: Ib5c72038cf153776808f084db835c60f61fd9044
Reviewed-on: https://chromium-review.googlesource.com/510309
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Dan Jacques 063814f82e Remove "url" recipe module.
All known repositories have been switched to "recipe_engine/url".

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

Change-Id: Ibed376b916f59b5d7142aa2ffd210919079a0862
Reviewed-on: https://chromium-review.googlesource.com/508163
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Paweł Hajdan, Jr 16d2ae8cb0 bot_update: fix regression with swallowed exception
This was regressed in https://chromium-review.googlesource.com/475950

Downstream regression test added in https://chromium-review.googlesource.com/c/508697/

Bug: 723572
Change-Id: I44dbaf9e4996388b898359141db879bd0a1023d9
Reviewed-on: https://chromium-review.googlesource.com/508790
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@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
Dan Jacques 69e760e4a5 Switch to recipe engine "url" module.
BUG=None
TEST=expectations
R=iannucci@chromium.org

Change-Id: I43a65405c957cb6dddd64f61846b926d81046752
Reviewed-on: https://chromium-review.googlesource.com/505278
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Robert Iannucci 5702f0baef [recipes] convert all recipe_modules to use new context module.
R=recipe-roller@chromium.org

Bug:
Change-Id: I84c19965b779f1010c00cd8c857b7533eec7413f
Reviewed-on: https://chromium-review.googlesource.com/502929
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@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
recipe-roller 8a2f54e5c6 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c594d93e17bd0e32f02620808deed9b1833bd81f [autoroll] Remove support for 'config section' in doc/recipes.py (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8f6f9ee8f5b82ee3a0565815ca1ec31f0af2ba24
Reviewed-on: https://chromium-review.googlesource.com/502587
Reviewed-by: <recipe-roller@chromium.org>
Commit-Queue: <recipe-roller@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
recipe-roller 070c2e3eee Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/bf2ff828987549b946135919bd1bffd6e42fd8fd [doc/recipes.py] Add option to recipes.py to allow it to work without .git (iannucci@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I73f11890503702e9af7c24941457425c5cc46267
Reviewed-on: https://chromium-review.googlesource.com/499770
Reviewed-by: <recipe-roller@chromium.org>
Commit-Queue: <recipe-roller@chromium.org>
8 years ago