Commit Graph

189 Commits (5ba1e9caeecb40a6ec7cc045e6850dbe65f79446)

Author SHA1 Message Date
Edward Lemur 455ee3a61e bot_update: Don't pass reset-fetch-config to gclient
Forgot to remove it in https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1135645

No-Presubmit: True
Tbr: agable@chromium.org
Bug: 862547
Change-Id: I926959cd91a89d8e77ae000543b00b667b5eb25f
Reviewed-on: https://chromium-review.googlesource.com/1137362
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Edward Lemur 579c98612b Reset the fetch config in the bots before each run.
If a ref is incorrectly set, it will affect later runs.
For example, [1] caused a bad refspec to be added to the fetch config,
(+refs/branch-heads/refs/branch-heads/6.7:refs/branch-heads/refs/branch-heads/6.7)
which affects all subsequent runs in the same bot: [2], [3].

This makes bot_update clear the fetch config before each run, so it is more
robust against these kind of failures.

[1] https://logs.chromium.org/v/?s=v8%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8942033142534034848%2F%2B%2Fsteps%2Fbot_update%2F0%2Fstdout
[2] https://logs.chromium.org/v/?s=v8%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8941307871443322944%2F%2B%2Fsteps%2Fbot_update%2F0%2Fstdout
[3] https://logs.chromium.org/v/?s=v8%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8941333453153279680%2F%2B%2Fsteps%2Fbot_update%2F0%2Fstdout

Bug: 862547
Change-Id: I2f849c604656e81ebd7377465d287226b8bdea1a
Reviewed-on: https://chromium-review.googlesource.com/1135645
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
7 years ago
Edward Lemur 92745a5b0e bot_update: Fix syncing to origin/*.
Skip adding origin if the branch name already has 'origin/'.

Bug: 859703
Change-Id: I0141c04189d00187c202a7885a7c6bb74571e7ea
Reviewed-on: https://chromium-review.googlesource.com/1128390
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Edward Lemur 4fb2477d08 bot_update: Fix syncing to branches.
When syncing remote branches, checkout origin/<branch> instead of
<branch>, since there might be a local branch with that name.

Bug: 859703
Change-Id: I9a49b940f53f75a97e5458fdcf578c3b52b26de2
Reviewed-on: https://chromium-review.googlesource.com/1128271
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Michael Achenbach 3c023259d7 [gsutil] Consistently return recipe step result
Obviates need to call api.step.active_result by callers.

Bug: 711249
Change-Id: Ibd3278df01fc8f9d7cc73eacc72d9fc57578808d
Reviewed-on: https://chromium-review.googlesource.com/1127372
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 5484b866dc bot_update: use buildbucket's gitiles_commit as repo/revision input.
Today, whenever LUCI scheduler sets gitiles_commit, a revision property
is also always set, thus this CL will have no effect on today's production.

The goal of CL is to pave the way to avoid this duplication. For starters,
one could start real writing tests with

    + api.buildbucket.ci_build(..., revision='sha1')

without the need to duplicate the same revision as a property. All
recipes which WAI with such input are thus ready to work w/o 'revision'
property. After that, we'll be able to stop the duplication in LUCI scheduler.

R=hinoka

Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Change-Id: I1773b1c3d2a98a9dbd1cfdd9ac2b4fb99745ee99
Reviewed-on: https://chromium-review.googlesource.com/1123713
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
7 years ago
Andrii Shyshkalov 43033409f4 bot_update: remove legacy Gerrit patch property support.
Change-Id: Ie95e10784725176c94a584fa6dadef2318142053
Reviewed-on: https://chromium-review.googlesource.com/1123650
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Sergiy Byelozyorov d38a2da9f1 Use cwd from context instead of kwargs
It is not possible to use cwd argument, since none of the methods called by this
module define cwd explicitly and low-level modules like api.step do not support
it anymore, resulting in a TypeError exception thrown due to unexpected keyword
argument, e.g. see https://ci.chromium.org/swarming/task/3e74a52905a71110. Given
that any users using cwd argument would be broken anyway, it should be safe to
make this change.

Planned usage: https://crrev.com/c/1122874

R=tandrii@chromium.org, iannucci@chromium.org

Bug: 793687
Change-Id: Iadf6bf91d8d41dbc6751a848bb69d7922a206ade
Reviewed-on: https://chromium-review.googlesource.com/1122873
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
7 years ago
Robert Iannucci a4dec94a1a Add download_archive to gitiles module.
R=phosek@chromium.org, tandrii@chromium.org, vadimsh@chromium.org

Bug: 790650
Change-Id: Ia878004d6983dbbad882ec683da2e0db5e727c66
Reviewed-on: https://chromium-review.googlesource.com/1116073
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 77094f7fea Reland of "Wipe out shallow checkout support from bot_update."
Originally-Reviewed-on: https://chromium-review.googlesource.com/1111107
Led-test: https://ci.chromium.org/swarming/task/3e51ed0e31211710?server=chromium-swarm.appspot.com

TBR=hinoka, iannucci

Bug: 855137
Change-Id: I157ef6b9ee2a7ce45e4a474853ae769a82cc4c99
Reviewed-on: https://chromium-review.googlesource.com/1114234
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 612d62d0ca Revert "bot_update: Don't force solutions to be unmanaged."
This reverts commit c48318a35b.

Reason for revert: likely broke ChromeOS

Original change's description:
> bot_update: Don't force solutions to be unmanaged.
> 
> gclient should be the one syncing the solutions to the appropriate
> revisions.
> 
> Bug: 850812, 853032
> Change-Id: Ieefc5661627d4864deb0d4e7053168a99da29d29
> Reviewed-on: https://chromium-review.googlesource.com/1102833
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=hinoka@chromium.org,agable@chromium.org,ehmaldonado@chromium.org

Change-Id: I7e110108a9687d703ea8be39cc83e0888f7813c6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 850812, 853032, 855700
Reviewed-on: https://chromium-review.googlesource.com/1111925
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 565fa6a407 Revert "Wipe out shallow checkout support from bot_update."
This reverts commit 568b7a8998.

Reason for revert: temporary revert to revert previous CL.

Original change's description:
> Wipe out shallow checkout support from bot_update.
> 
> Bug: 855137
> Change-Id: I60b8d69f9ab353c12120d4216e3a12518f99732c
> Reviewed-on: https://chromium-review.googlesource.com/1111107
> Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
> Reviewed-by: Ryan Tseng <hinoka@chromium.org>

TBR=iannucci@chromium.org,hinoka@chromium.org,tandrii@chromium.org

Change-Id: Iede67717be448be9bdd7c5dd4895fbab9fd65c66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 855137, 855700
Reviewed-on: https://chromium-review.googlesource.com/1111924
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 568b7a8998 Wipe out shallow checkout support from bot_update.
Bug: 855137
Change-Id: I60b8d69f9ab353c12120d4216e3a12518f99732c
Reviewed-on: https://chromium-review.googlesource.com/1111107
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
7 years ago
Edward Lemur c48318a35b bot_update: Don't force solutions to be unmanaged.
gclient should be the one syncing the solutions to the appropriate
revisions.

Bug: 850812, 853032
Change-Id: Ieefc5661627d4864deb0d4e7053168a99da29d29
Reviewed-on: https://chromium-review.googlesource.com/1102833
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Andrii Shyshkalov 124365b8ea bot_update: default to non-shallow checkouts.
shallow mode is a special git mode that only checks out a shallow copy
of git so the full history is not downloaded. It is not well supported
by googlesource.com servers because git has to do a giant negotiation
with the server and transmit every single commit that the local checkout
has or doesn't have (instead of just the latest commit of each ref),
which ends up taking more than 10x longer than a non-shallow checkout.

R=ehmaldonado, hinoka, iannucci

Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Bug: 855137
Change-Id: I5f9e31f8b2730cf80b79bfd0e08201c33eb942f5
Reviewed-on: https://chromium-review.googlesource.com/1110450
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
7 years ago
Andrii Shyshkalov fce7bc9e08 Add infradata/config repo to gclient.
This way it'll be discoverable by run_presubmit recipe.

R=vadimsh

Bug: 613739
Change-Id: I84ec3b84292940e74e4d707e4d257eb560004f56
Reviewed-on: https://chromium-review.googlesource.com/1102010
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov cd8d4a659a gclient recipe: use env_suffixes insetad of custom ENV manipulation.
R=iannucci@chromium.org

Recipe-Nontrivial-Roll: skia
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Recipe-Nontrivial-Roll: release_scripts
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Change-Id: Ie0b042389b7e2c505cd8dbecc1a30a37244ae238
Reviewed-on: https://chromium-review.googlesource.com/1100110
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrew Grieve 1f156687a2 gerrit/api.py: Add get_revision() helper.
Allows easily getting at more than just the commit message.
I intend to look at the author to whitelist bots from binary size
checks (initially).

Bug: 702625
Change-Id: I684fdfacc88635ec4849216c74183f63f9d54810
Reviewed-on: https://chromium-review.googlesource.com/1070483
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Edward Lesmes 3f0591d4f1 Reland "bot_update: Patch on gclient by default."
This is a reland of e38cf570fc

Sinc the last reland catapult, custom-tab-client and syzygy had their origins updated
to the source of truth:
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1043254
https://chromium-review.googlesource.com/c/chromium/tools/build/+/1043355

This fixes the last problem we had, where the origin in gclient was different from the
source of truth, and so the patch couldn't be applied.

Original change's description:
> bot_update: Patch on gclient by default.
>
> See [4] for the design doc for this change.
>
> We're moving the patching logic from bot_update to gclient.
> This way we can test patches of dependencies that modify their DEPS
> files as well, for example when ANGLE uploads a patch that modifies
> DEPS files to be tested by a Chromium trybot.
>
> Chromium Linux CQ and Angle trybots are already running this way
> (see [1] and [2]) and a PSA has already been sent [3]
>
> [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
>
> Bug: 643346
> Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> Recipe-Nontrivial-Roll: skia
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Recipe-Nontrivial-Roll: skiabuildbot
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: release_scripts
> Reviewed-on: https://chromium-review.googlesource.com/1014356
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>

Bug: 643346

Change-Id: Ia0db591c6bf9695f56e6b71777c567595986a511
Reviewed-on: https://chromium-review.googlesource.com/1031206
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
7 years ago
Edward Lemur 3d894aa45e bot_update: Fix manifest creation.
It fails when both the revision and the url are None.

Bug: 841936
Change-Id: Idef45a015624a92226d4ccd38ed5b978bf786993
Reviewed-on: https://chromium-review.googlesource.com/1053996
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
7 years ago
Edward Lemur 31a8da265a bot_update: Assert no syncing of refs/remotes/*
Bug: 840445
Change-Id: I9c9a13914bb2da0d07ed32f71453cbb0f30b59e0
Reviewed-on: https://chromium-review.googlesource.com/1053185
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Takuto Ikuta 7c3ff1311a Introduce GIT_TRACE_PERFORMANCE
GIT_TRACE_PERFORMANCE shows invocation time of each subcommands.
https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables

This is tested on
https://ci.chromium.org/swarming/task/3d605b8aab1a5a10?server=chromium-swarm.appspot.com
bot_update ran successfully.

Bug: 840592
Change-Id: I65ef733d1473f9f0f7e0109b0f727595766021b6
Reviewed-on: https://chromium-review.googlesource.com/1053028
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Takuto Ikuta 5623aeebe8 Introduce GIT_TRACE for chromium/src in bot_update step
This CL is tested on
https://ci.chromium.org/swarming/task/3d5fde091e610010?server=chromium-swarm.appspot.com

api.py change is for auto roller

Bug: 840592
Change-Id: Ib6195dc1f4539c8f02fe0696dc140b4cf0973baf
Reviewed-on: https://chromium-review.googlesource.com/1049987
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Edward Lemur 04065d39f7 Reland "bot_update: Fetch references to be synced."
This is a reland of 3806b7fbd0

Original change's description:
> bot_update: Fetch references to be synced.
>
> If a solution is to be synced to a reference, such as
> refs/branch-heads/#### fetch it so that it can later be
> checked out.
>
> I tried this change on a LUCI task that runs chromium_presubmit
> for crrev.com/c/1048868. The bot_update works as expected:
> https://ci.chromium.org/swarming/task/3d5b294cff467710?server=chromium-swarm.appspot.com
>
>
> Bug: 840445
>
> Change-Id: I6444c0feb679ca89b2f4065215de915494e5082a
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: build_limited
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Reviewed-on: https://chromium-review.googlesource.com/1049007
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

Bug: 840445

Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Change-Id: I64a97aafe5fab9a26c478262e9ca104dc59e61f5
Reviewed-on: https://chromium-review.googlesource.com/1052387
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Moss <mmoss@chromium.org>
7 years ago
agrieve afec759dca Revert "bot_update: Fetch references to be synced."
This reverts commit 3806b7fbd0.

Reason for revert: Broke downstream tot bots

Original change's description:
> bot_update: Fetch references to be synced.
> 
> If a solution is to be synced to a reference, such as
> refs/branch-heads/#### fetch it so that it can later be
> checked out.
> 
> I tried this change on a LUCI task that runs chromium_presubmit
> for crrev.com/c/1048868. The bot_update works as expected:
> https://ci.chromium.org/swarming/task/3d5b294cff467710?server=chromium-swarm.appspot.com
> 
> 
> Bug: 840445
> 
> Change-Id: I6444c0feb679ca89b2f4065215de915494e5082a
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: build_limited
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Reviewed-on: https://chromium-review.googlesource.com/1049007
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

TBR=mmoss@chromium.org,machenbach@chromium.org,tandrii@chromium.org,ehmaldonado@chromium.org

Change-Id: If94df8684e634504d8a0c11b2aa5862a458ba19f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 840445, 841306
Reviewed-on: https://chromium-review.googlesource.com/1052187
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
7 years ago
Edward Lemur 3806b7fbd0 bot_update: Fetch references to be synced.
If a solution is to be synced to a reference, such as
refs/branch-heads/#### fetch it so that it can later be
checked out.

I tried this change on a LUCI task that runs chromium_presubmit
for crrev.com/c/1048868. The bot_update works as expected:
https://ci.chromium.org/swarming/task/3d5b294cff467710?server=chromium-swarm.appspot.com


Bug: 840445

Change-Id: I6444c0feb679ca89b2f4065215de915494e5082a
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_limited
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Reviewed-on: https://chromium-review.googlesource.com/1049007
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Andrii Shyshkalov 5e5f2d6035 bot_update: attempt to disable GC completely on main repo.
Motivation: see https://crbug.com/822437#c6
tl;dr apparently, auotpacking still happens, this CL tries to stop
prevent it harder than before.

R=vadimsh@chromium.org

Bug: 822437
Change-Id: Idda384bdebd96c10ac79c48b0622f84550060362
Reviewed-on: https://chromium-review.googlesource.com/1045491
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Edward Lemur ea240053f9 gclient: Update catapult and custom-tab-client origin URLs
Otherwise, the origin URLs for the checkout and the patch won't match
and applying the patch on gclient will fail.

Bug: 643346
Change-Id: If005bb10e579b3d50f9b6d0ff39440bb9a300cbd
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_limited
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Reviewed-on: https://chromium-review.googlesource.com/1043254
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
7 years ago
Stephen Martinis ea50265aef Revert "Reland "bot_update: Patch on gclient by default.""
This reverts commit 8f20428bf4.

Reason for revert: Probably broke bot update on catapult bots: https://build.chromium.org/p/tryserver.client.catapult/builders/Catapult%20Linux%20Tryserver/builds/11225

Original change's description:
> Reland "bot_update: Patch on gclient by default."
> 
> This is a reland of e38cf570fc
> 
> The issue with win CQ bots was fixed in https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1036309
> It was due to misconfigured git user.{name,email}
> 
> Original change's description:
> > bot_update: Patch on gclient by default.
> >
> > See [4] for the design doc for this change.
> >
> > We're moving the patching logic from bot_update to gclient.
> > This way we can test patches of dependencies that modify their DEPS
> > files as well, for example when ANGLE uploads a patch that modifies
> > DEPS files to be tested by a Chromium trybot.
> >
> > Chromium Linux CQ and Angle trybots are already running this way
> > (see [1] and [2]) and a PSA has already been sent [3]
> >
> > [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> > [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> > [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> > [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
> >
> > Bug: 643346
> > Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> > Recipe-Nontrivial-Roll: skia
> > Recipe-Nontrivial-Roll: infra
> > Recipe-Nontrivial-Roll: build_limited_scripts_slave
> > Recipe-Nontrivial-Roll: skiabuildbot
> > Recipe-Nontrivial-Roll: build
> > Recipe-Nontrivial-Roll: release_scripts
> > Reviewed-on: https://chromium-review.googlesource.com/1014356
> > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> > Reviewed-by: Aaron Gable <agable@chromium.org>
> 
> Bug: 643346
> Change-Id: I4f4edd8e815cb12a4cbc3ab690eaf588bc2accc1
> Reviewed-on: https://chromium-review.googlesource.com/1039966
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=agable@chromium.org,tandrii@chromium.org,ehmaldonado@chromium.org

Change-Id: Ia8a5779cde3c31812121cffdd806476d4536f35e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 643346
Reviewed-on: https://chromium-review.googlesource.com/1043167
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
7 years ago
Edward Lesmes 8f20428bf4 Reland "bot_update: Patch on gclient by default."
This is a reland of e38cf570fc

The issue with win CQ bots was fixed in https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1036309
It was due to misconfigured git user.{name,email}

Original change's description:
> bot_update: Patch on gclient by default.
>
> See [4] for the design doc for this change.
>
> We're moving the patching logic from bot_update to gclient.
> This way we can test patches of dependencies that modify their DEPS
> files as well, for example when ANGLE uploads a patch that modifies
> DEPS files to be tested by a Chromium trybot.
>
> Chromium Linux CQ and Angle trybots are already running this way
> (see [1] and [2]) and a PSA has already been sent [3]
>
> [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
>
> Bug: 643346
> Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> Recipe-Nontrivial-Roll: skia
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Recipe-Nontrivial-Roll: skiabuildbot
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: release_scripts
> Reviewed-on: https://chromium-review.googlesource.com/1014356
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>

Bug: 643346
Change-Id: I4f4edd8e815cb12a4cbc3ab690eaf588bc2accc1
Reviewed-on: https://chromium-review.googlesource.com/1039966
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Edward Lemur 6c692edf01 Reland "bot_update: Set user.{name,email} when applying patch refs."
This is a reland of e86fe982e8

Original change's description:
> bot_update: Set user.{name,email} when applying patch refs.
> 
> git rebase complains when user name/email has not been configured, as was
> the case for the Chromium trybot.
> 
> Bug: 643346
> Change-Id: Iab7dac0a98608e09b63a53d5bacb98925701fbfd
> Reviewed-on: https://chromium-review.googlesource.com/1031524
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

Bug: 643346
Change-Id: I4b4d07675222d39d704560ed84f9c221e87aba8b
Reviewed-on: https://chromium-review.googlesource.com/1036309
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Michael Moss 1eb58e1f88 Add a recipe config to enable the bot_update "--with_tags" flag.
This is needed for release builders to checkout the release tags that
will be created when the buildspec branch/release info is migrated out
to the regular repos.

BUG=825063
R=jbudorick@google.com

Change-Id: I5f0e4cdd94de11c59f9b4a5c11aabea129e81523
Reviewed-on: https://chromium-review.googlesource.com/1036526
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Michael Moss <mmoss@chromium.org>
7 years ago
Stephen Martinis 43d72759fe Revert "bot_update: Set user.{name,email} when applying patch refs."
This reverts commit e86fe982e8.

Reason for revert: Probably causing outages on win7_chromium_rel_ng.

Original change's description:
> bot_update: Set user.{name,email} when applying patch refs.
> 
> git rebase complains when user name/email has not been configured, as was
> the case for the Chromium trybot.
> 
> Bug: 643346
> Change-Id: Iab7dac0a98608e09b63a53d5bacb98925701fbfd
> Reviewed-on: https://chromium-review.googlesource.com/1031524
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=agable@chromium.org,ehmaldonado@chromium.org

Change-Id: Ic57398323476fccef34f766270d760c3975630a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 643346
Reviewed-on: https://chromium-review.googlesource.com/1036308
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
7 years ago
Edward Lesmes e86fe982e8 bot_update: Set user.{name,email} when applying patch refs.
git rebase complains when user name/email has not been configured, as was
the case for the Chromium trybot.

Bug: 643346
Change-Id: Iab7dac0a98608e09b63a53d5bacb98925701fbfd
Reviewed-on: https://chromium-review.googlesource.com/1031524
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Andrii Shyshkalov c6e57bb748 bot_update: really check whether repo is pinned at an actual sha1 revision.
Previously, anything not equal to HEAD meant pinned revision.
This backfired on values like "origin/master" which are meant as
equivalent to HEAD, but which bot_update tried to ensure exist in
checkout, which was refreshed several times under assumption that
this is eventual consistency of git servers.

Instead, this CL treats repo as pinned if and only if the treeish
of the repo is matching sha1 regex.

R=hinoka@chromium.org

Bug: 838292
Change-Id: I9cb46535f46b2898cf54900ede7960ba08770d77
Post-Scriptum: git bisect + Led is awesome, took only 8 manual steps.
Reviewed-on: https://chromium-review.googlesource.com/1035793
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Ben Pastene 7580f9dac9 Revert "Reland "bot_update: Patch on gclient by default.""
This reverts commit e38cf570fc.

Reason for revert: likely broke bot_update on win CQ bots:
https://ci.chromium.org/buildbot/tryserver.chromium.win/win7_chromium_rel_ng/154654
https://bugs.chromium.org/p/chromium/issues/detail?id=837321

Original change's description:
> Reland "bot_update: Patch on gclient by default."
> 
> This is a reland of 355b11a31f
> 
> Original change's description:
> > bot_update: Patch on gclient by default.
> > 
> > See [4] for the design doc for this change.
> > 
> > We're moving the patching logic from bot_update to gclient.
> > This way we can test patches of dependencies that modify their DEPS
> > files as well, for example when ANGLE uploads a patch that modifies
> > DEPS files to be tested by a Chromium trybot.
> > 
> > Chromium Linux CQ and Angle trybots are already running this way
> > (see [1] and [2]) and a PSA has already been sent [3]
> > 
> > [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> > [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> > [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> > [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
> > 
> > Bug: 643346
> > Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> > Recipe-Nontrivial-Roll: skia
> > Recipe-Nontrivial-Roll: infra
> > Recipe-Nontrivial-Roll: build_limited_scripts_slave
> > Recipe-Nontrivial-Roll: skiabuildbot
> > Recipe-Nontrivial-Roll: build
> > Recipe-Nontrivial-Roll: release_scripts
> > Reviewed-on: https://chromium-review.googlesource.com/1014356
> > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> > Reviewed-by: Aaron Gable <agable@chromium.org>
> 
> Bug: 643346
> Change-Id: I2da17456f24d1e9fcc3f48f9242b4db05cadbf6d
> Reviewed-on: https://chromium-review.googlesource.com/1029073
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=agable@chromium.org,tandrii@chromium.org,ehmaldonado@chromium.org

Change-Id: I33e4bf7b5f416f6356dbd0b50a276cd36dd4e9b3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 643346
Reviewed-on: https://chromium-review.googlesource.com/1030718
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
7 years ago
Edward Lesmes e38cf570fc Reland "bot_update: Patch on gclient by default."
This is a reland of 355b11a31f

Original change's description:
> bot_update: Patch on gclient by default.
> 
> See [4] for the design doc for this change.
> 
> We're moving the patching logic from bot_update to gclient.
> This way we can test patches of dependencies that modify their DEPS
> files as well, for example when ANGLE uploads a patch that modifies
> DEPS files to be tested by a Chromium trybot.
> 
> Chromium Linux CQ and Angle trybots are already running this way
> (see [1] and [2]) and a PSA has already been sent [3]
> 
> [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
> 
> Bug: 643346
> Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> Recipe-Nontrivial-Roll: skia
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Recipe-Nontrivial-Roll: skiabuildbot
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: release_scripts
> Reviewed-on: https://chromium-review.googlesource.com/1014356
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>

Bug: 643346
Change-Id: I2da17456f24d1e9fcc3f48f9242b4db05cadbf6d
Reviewed-on: https://chromium-review.googlesource.com/1029073
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Andrii Shyshkalov 3cb0767ac1 recipes: cache destination branch of a Gerrit change.
It doesn't change after change is created.

R=jchinlee@chromium.org

Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Change-Id: I4c4758085f6cfa7c2ef5267c6c71c9b324263f95
Reviewed-on: https://chromium-review.googlesource.com/1029227
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
7 years ago
Edward Lesmes 2acf495798 Revert "bot_update: Patch on gclient by default."
This reverts commit 355b11a31f.

Reason for revert:
Easier to do this another way that doesn't cause expectation changes,
so it doesn't require non-trivial rolls.

Original change's description:
> bot_update: Patch on gclient by default.
> 
> See [4] for the design doc for this change.
> 
> We're moving the patching logic from bot_update to gclient.
> This way we can test patches of dependencies that modify their DEPS
> files as well, for example when ANGLE uploads a patch that modifies
> DEPS files to be tested by a Chromium trybot.
> 
> Chromium Linux CQ and Angle trybots are already running this way
> (see [1] and [2]) and a PSA has already been sent [3]
> 
> [1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
> [2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
> [3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
> [4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#
> 
> Bug: 643346
> Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
> Recipe-Nontrivial-Roll: skia
> Recipe-Nontrivial-Roll: infra
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Recipe-Nontrivial-Roll: skiabuildbot
> Recipe-Nontrivial-Roll: build
> Recipe-Nontrivial-Roll: release_scripts
> Reviewed-on: https://chromium-review.googlesource.com/1014356
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>

TBR=agable@chromium.org,ehmaldonado@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 643346
Change-Id: I0e694b0e398770b8bd2e5a3170e158a7e54c5a61
Reviewed-on: https://chromium-review.googlesource.com/1029310
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Edward Lesmes 355b11a31f bot_update: Patch on gclient by default.
See [4] for the design doc for this change.

We're moving the patching logic from bot_update to gclient.
This way we can test patches of dependencies that modify their DEPS
files as well, for example when ANGLE uploads a patch that modifies
DEPS files to be tested by a Chromium trybot.

Chromium Linux CQ and Angle trybots are already running this way
(see [1] and [2]) and a PSA has already been sent [3]

[1] https://chromium.googlesource.com/chromium/src/+/master/infra/config/global/cr-buildbucket.cfg#214
[2] https://chromium.googlesource.com/angle/angle/+/infra/config/cr-buildbucket.cfg#105
[3] https://groups.google.com/a/google.com/forum/#!topic/chrome-infra/FVHN2kdUX4I
[4] https://docs.google.com/document/d/1GSTw4ysm5AYjNR6vMA7NJUxLK2VN9IpOEp_v0u-wyOE/edit?ts=5ad78165#

Bug: 643346
Change-Id: Ic9a9dcfae86aca730d35fbb26c26b21135e05bf3
Recipe-Nontrivial-Roll: skia
Recipe-Nontrivial-Roll: infra
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Recipe-Nontrivial-Roll: skiabuildbot
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: release_scripts
Reviewed-on: https://chromium-review.googlesource.com/1014356
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
7 years ago
John Budorick 9ccad5689c bot_update: Ensure create_manifest ignores repos with explicit None urls.
Bug: 830306
Change-Id: Id87a6f2053c7e3cd489647d1cbbc8a83f2e585db
Reviewed-on: https://chromium-review.googlesource.com/1003326
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
7 years ago
Edward Lesmes d69c5dd538 bot_update: Don't patch if gerrit_repo or gerrit_ref are empty/None.
We should apply the patch only when gerrit_repo and gerrit_ref are passed,
instead of using only the --apply-patch-on-gclient flag.

R=agable@chromium.org

Bug: 643346
Change-Id: I28547aed9daeefa2657a108e0bacbfd4fc9fa07e
Reviewed-on: https://chromium-review.googlesource.com/989667
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
7 years ago
Nico Weber 6ceb345389 Remove dnj from depot_tools OWNERS
Add some other people to recipes/OWNERS

Change-Id: I554d1fd354e628d2e62629be7ce20e899364c4a9
Reviewed-on: https://chromium-review.googlesource.com/984972
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
7 years ago
Nico Weber 7bfbb43277 add a standalone angle gclient config
To be used in https://chromium-review.googlesource.com/c/chromium/tools/build/+/984433

Bug: 820421
Change-Id: I76d32ed9f7b5caa256bfa85220ac0c256bbc1a48
Reviewed-on: https://chromium-review.googlesource.com/984692
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
7 years ago
Edward Lesmes ee04b9a2f4 bot_update: Make gclient experiment a property instead of an argument.
Is easier to configure experimental bots this way.

Bug: 643346
Change-Id: Idb6d3a68b02949dce71dbcba38e8ef756c467830
Reviewed-on: https://chromium-review.googlesource.com/981515
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
7 years ago
Edward Lesmes 385a4fdd46 bot_update: Add a flag to move applying the patch to gclient.
This adds a --enable-gclient-experiment flags that tells bot_update.py
to skip applying the patch, and instead forward the flags to gclient.

Bug: 643346
Change-Id: Ia4275a126e6adba54dfcc894d224c50c166db90e
Reviewed-on: https://chromium-review.googlesource.com/962938
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
7 years ago
Andrii Shyshkalov b3065fb6a1 bot_update: don't repack, don't gc in main repo of builder's checkout.
The main purpose is to avoid running slow and useless operation in
chromium/src checkouts. Ideally, this should be done in every DEPS-ed
repo, too, but that requires substantially more changes in gclient.
Thus, this CL provides biggest bang for the buck.

Example led build: https://ci.chromium.org/swarming/task/3c62efb31ed3a910?server=chromium-swarm.appspot.com

R=hinoka@chromium.org

Bug: 822437
Change-Id: I347d85e5cb5158b77969a755b67ca2289fb39d40
Reviewed-on: https://chromium-review.googlesource.com/973900
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
7 years ago
Robert Iannucci 456b0d648f [bot_update] Remove support for rietveld patches.
R=agable@chromium.org, tandrii@chromium.org

Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: infra
Change-Id: I518335e7b8fdce316b5566caccd3c4c7c2ae741a
Reviewed-on: https://chromium-review.googlesource.com/960161
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
7 years ago
Robert Iannucci f4c2703a6d [bot_update] Remove rietveld recipe_module.
R=agable@chromium.org, tandrii@chromium.org

Recipe-Nontrivial-Roll: build
Change-Id: Ic4c2dc7a50d389f18f3e0c1de332cb1a0ab376a9
Reviewed-on: https://chromium-review.googlesource.com/957834
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
7 years ago
Robert Iannucci 3a8b09088b [bot_update] Remove use_site_config_creds.
This method hasn't been supported for a long time now (and besides, its
only for Rietveld).

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

Recipe-Manual-Change: infra
Change-Id: Ie6e63834dca67962db29f2cb407950ed85db55a7
Reviewed-on: https://chromium-review.googlesource.com/957832
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
7 years ago