This will make it easier to call new or uncommon Gerrit APIs, without
needing to add dedicated methods for each one. This also makes it easier
to debug API calls by exposing the raw response data, which is often
processed or filtered in the existing wrapper methods.
BUG=1052179
R=linxinan@chromium.org
Change-Id: I0b594a9fdaabae4b0ebb379dc5473f4d6de67a13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3235714
Auto-Submit: Michael Moss <mmoss@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Xinan Lin <linxinan@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
If one uses update_files() method to file a chain of CLs and wants
to submit them together, they have to set submit=False to wait for the
last CL. As a result, users have to run `set Bot-Commit+1` for each CL
at their side, which is annoying.
This change makes the gerrit module to handle that, and callers only
need to submit the chain.
BUG=1261724
TEST=train
Change-Id: If7d420d8d3c40b1d462284395cdc87ac680d0918
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3235388
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Michael Moss <mmoss@chromium.org>
Only hanging process recorded so far is gsutil. Sending sigterm doesn't
result in successfully terminating the process. Instead, use sigkill.
R=gavinmak@google.com
Bug: 1255228
Change-Id: Iad354284422676df804c68cb6f18c7db723bf862
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3232250
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
This change removes the need for the Gerrit plugin recipe to clone the
Gerrit repo itself.
Recipe-Nontrivial-Roll: infra
Bug: 1196790
Change-Id: I3d6bb71a2e95c50c4dc29345ad24e482177233d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3224087
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
It's generaly not useful and makes it harder to understand bot_update
logs. If we need to debug specific builders, we can set environment
variables in the recipe itself.
R=apolito@google.com
Bug: 1255228
Change-Id: I18fc6ee8cb15b30bc3a4422ddd04979189bacf64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3221250
Commit-Queue: Anthony Polito <apolito@google.com>
Reviewed-by: Anthony Polito <apolito@google.com>
Patch failures shouldn't be treated as infra_failures (as long as patch
was successfully downloaded).
Prior to https://crbug.com/1207685, bot_update patch failurs were set as
successful step to work around buildbucket plugin requirements.
One alternative approach is to add necessary information into patch
failure step, by editing its presentation.
R=gavinmak@google.com
Bug: 1207685, 1255228
Change-Id: I696356d40a80536c3efbca99091536b8b25deb40
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3219890
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
This change starts observers as soon as possible, and wraps the entire
block that can cause an exception in try..finally. This ensures that we
stop threads are stopped.
If we notice the same behavior, it could be worth to put a cap on number
of executions per observer, and shut the thread down once reached.
R=apolito@google.com
Bug: 1255228
Change-Id: I1f165267460da02b3bbba39022c262e6c29fe86b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3213451
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
And add a hook for it in the gerrit recipe_module.
This will allow invocations of gerrit_client to set votes like
"code-review-1" or "commit-queue+1" on CLs. This will be used by bots
to control CLs they just created with update_files().
Bug: 1250084
Change-Id: I888458983165fed5882e5c37cba4a69dbfb9b810
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3207266
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
This reverts commit 8031f2ad8d.
Reason for revert: didn't help
Original change's description:
> Update HEAD when checking out from git cache
>
> HEAD may be different than what git cache has. This change ensures the
> correct revision is used.
>
> R=gavinmak@google.com
>
> Bug: 1251783
> Change-Id: I4909a4d52ef70ee806c285f24693eca5173003d9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3174363
> Auto-Submit: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Gavin Mak <gavinmak@google.com>
> Reviewed-by: Gavin Mak <gavinmak@google.com>
Bug: 1251783
Change-Id: I35549e47fc7cd2361321a6e8c6480ec2732215fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3180383
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
HEAD may be different than what git cache has. This change ensures the
correct revision is used.
R=gavinmak@google.com
Bug: 1251783
Change-Id: I4909a4d52ef70ee806c285f24693eca5173003d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3174363
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
The build that created this CL was
https://ci.chromium.org/b/8835439534712066113
Please review the expectation changes, and LGTM+CQ.
recipe_engine:
63c685b872~..f28ac0ab20025138a3f46845de09d625960c2a97
63c685b (chanli@chromium.org)
[buildbucket] test_api: emulate luci_context based on build info
f28ac0a (chanli@chromium.org)
Reland "[recipe-py] expose resultdb info in LUCI_CONTEXT"
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=nodir@chromium.org, tandrii@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If2d4beb72d786f852feca9f4d43e08778bf71f3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3174366
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Auto-Submit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
* If the input revision starts with refs/ use it as the ref of the CP.
* If the input revision is of the form origin/X, use refs/heads/X as the
ref of the CP.
Change-Id: I048883afcfe1593e877c004729f859921910c993
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_limited
Recipe-Nontrivial-Roll: chrome_release
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3165297
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Auto-Submit: Garrett Beaty <gbeaty@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
The build that created this CL was
https://ci.chromium.org/b/8836068680053499857
Please review the expectation changes, and LGTM+CQ.
recipe_engine:
1cc998a726
1cc998a (chanli@chromium.org)
Revert "[recipe-py] expose resultdb info in LUCI_CONTEXT"
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=nodir@chromium.org, tandrii@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib3634ea557ed2a830da4101a17ad59c1dc45ca28
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3161452
Auto-Submit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
The build that created this CL was
https://ci.chromium.org/b/8836073712359662945
Please review the expectation changes, and LGTM+CQ.
recipe_engine:
28810c312f
28810c3 (chanli@chromium.org)
[recipe-py] expose resultdb info in LUCI_CONTEXT
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=apolito@google.com, tandrii@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I26151593ed1556b925e3184f80828e24837e7175
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3161443
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Auto-Submit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
The build that created this CL was
https://ci.chromium.org/b/8836174376798977441
Please review the expectation changes, and LGTM+CQ.
recipe_engine:
ffe17790c2
ffe1779 (yuanjunh@google.com)
Unify Exception message when logging recipe crashes
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=nodir@chromium.org, tandrii@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id39b22619c2098cc82bf6a4abdf776e2bcbc82e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3158792
Auto-Submit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Yuanjun Huang <yuanjunh@google.com>
Reviewed-by: Yuanjun Huang <yuanjunh@google.com>
These soft errors will become hard failures and block the proto module
to be marked PY2+3 in upstream recipe engine repo.
Bug: 1227140
Change-Id: I0e5fdebe7e7cf43552b525d63c12f82c96c49902
Recipe-Nontrivial-Roll: build_limited
Recipe-Nontrivial-Roll: chrome_release
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3152784
Commit-Queue: Yuanjun Huang <yuanjunh@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
The build that created this CL was
https://ci.chromium.org/b/8836604083731327505
Please review the expectation changes, and LGTM+CQ.
recipe_engine:
776c6d56a8
776c6d5 (yuanjunh@google.com)
[python3] Format Exception message when running steps
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=gavinmak@google.com, tandrii@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2125a87e05f4e336131890ac2dbf2d3461606842
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3150698
Auto-Submit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
This test's expectation files include exception strings, which differ
between py2 and py3. This didn't actually break the tests in the past
because one of the cipd module's transitive dependencies,
`recipe_engine/proto`, was not py3-compatible, so the test results were
ignored.
However, I'm working on making `recipe_engine/proto` py3-compatible, and
now that it is compatible, these test failures are considered fatal. See
https://logs.chromium.org/logs/infra/buildbucket/cr-buildbucket/8837185422185352433/+/u/train_recipes_at_upstream_CL/stdout
I imagine the exception-formatting issue will eventually by fixed in the
recipe engine, but until that happens these tests can't be considered
py3-compatible.
Bug: 1227140
Change-Id: I75b2b9c0090f418cb412d497e914a30155c2b12b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3140151
Auto-Submit: Oliver Newman <olivernewman@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Oliver Newman <olivernewman@google.com>
Setting PYTHON_VERSION_COMPATIBILITY = PY2+3 makes "recipe.py test" run
tests in both py2 and py3.
Bug: 1227140
Change-Id: I56a47f0491cbade172e1dc1239cbf6c2a0faa64f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3116850
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Users may need more info from a created/submitted change,
e.g. revision hash, change status(submitted or not) etc.
BUG=1236658
TEST=train
Recipe-Nontrivial-Roll: chrome_release
Change-Id: I1db57e5c6a4e58ea320526ef5f5cbb83e1b0bb60
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3102579
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Michael Moss <mmoss@chromium.org>
git new-branch --upstream_current <branch_name>
can create a new branch tracking the current branch.
I need this in my recipe so adding this flag to the
recipe module.
Bug: 1238169
Change-Id: I1816b8d78867848e7a8f80337a6d82db8b6ef777
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3095037
Commit-Queue: Sven Zheng <svenzheng@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
There is no need to override refs/heads/main to be HEAD. This may not
always be true, there is no benefits of doing so and it doesn't play
well with git_cache which will set HEAD to global default branch.
R=gavinmak@google.com
Bug: 1238084
Recipe-Manual-Change: build_limited
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: infra
Change-Id: I21ab3463baaf7f86562ab0c65c06c3ac0962a08c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3088295
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
This CL allows users to pass the root solution revision to the bot
update step for presubmits. The presubmit for some child repositories
of src have dependencies on src. We need to make sure that the same
branch of a src and child repositories are checked out.
Bug:1238418
Change-Id: If2ea3962d764bddd17b3d17d20e7c644f4065fe0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3085094
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Rakib Hasan <rmhasan@google.com>
params in the form 'key=value' is required by gerrit_client tool,
although may not be used by the backend.
BUG=1207955
TEST=e2e
Recipe-Nontrivial-Roll: chrome_release
Change-Id: I1181868060af921f87efe55ea9f60fa37ae8b215
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3068823
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Michael Moss <mmoss@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
The new API here could support users to update files to remote
repo without loading the source code to the bot.
BUG=1207955
TEST=train
Change-Id: I2970171bf5b58db0db41bab5a433fc6721b7b2aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3042407
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Michael Moss <mmoss@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
Allows for quick retrieval of host and project without having to parse
gerrit_change_repo_url or hard coding.
Bug:
Change-Id: I43f6e0bfda4b54d742bfa7ea20ee781162796608
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2971110
Commit-Queue: Stephanie Kim <kimstephanie@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>