Commit Graph

11351 Commits (f41ea508908df01a047a2d93351a2b2caeeafd39)
 

Author SHA1 Message Date
Mohamed Heikal f41ea50890 Add emoji to build server related output
Bug: 404503040
Change-Id: Ife7d3d336bfbfb6513a2bb805f4b23d48e1c61d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6368643
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
1 month ago
Allen Li 8fecc592a2 Add auth config wizard
Make this available for testing first.

This should be functionally roughly analogous with the current auto
configuration logic, and it prints all actions it performs so it
should be pretty safe to play with, even if it hypothetically
misbehaves.

Bug: b/401338175
Change-Id: I803c7e167e355ec8cca1f5959099138c2fee305e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6334614
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
2 months ago
Josip Sokcevic 948edc4382 Revert "[git_auth] Use pathless URL for cred helper"
This reverts commit ce47e785fa.

Reason for revert: fatal: --local can only be used inside a git
repository.

Original change's description:
> [git_auth] Use pathless URL for cred helper
>
> The credential helper rules should not have a path, while the URL
> rewrite rules should.
>
> Bug: b/401338175
> Change-Id: I79b52ab4af62367363617b2a9afa03a67f5ea0b9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6345631
> Commit-Queue: Allen Li <ayatane@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>

Bug: b/401338175
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Ifa887eeb7a7049665570e865431b41ac18649b90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6357165
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2 months ago
Allen Li ce47e785fa [git_auth] Use pathless URL for cred helper
The credential helper rules should not have a path, while the URL
rewrite rules should.

Bug: b/401338175
Change-Id: I79b52ab4af62367363617b2a9afa03a67f5ea0b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6345631
Commit-Queue: Allen Li <ayatane@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Josip Sokcevic 04d6a4baa4 gerrit_util: Correctly handle abandon OK response
Recipe-Manual-Change: chrome_release
Bug: 403543870
Change-Id: I5137aa51fa43e696475a654811785c28d0283a08
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6357156
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Fumitoshi Ukai 5e89ddacb7 autoninja: add comment on use_siso_default
Change-Id: Ia22ae12f15b845664e3e88f27731506f24c9b5e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6356123
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Junji Watanabe <jwata@google.com>
Commit-Queue: Junji Watanabe <jwata@google.com>
2 months ago
Fumitoshi Ukai eae464cbfe autoninja: don't keep use_reclient=true with .reproxy_tmp
//build/toolchain/rbe.gni side fix: https://chromium-review.googlesource.com/c/chromium/src/+/6355944

Bug: 379584977
Change-Id: I2c0947ed3a7355ce3fe332e3e8a56655c0cf8ff8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6355865
Reviewed-by: Junji Watanabe <jwata@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
2 months ago
Scott Lee 330c155fd0 Revert "pass -sort-includes to clang-format-diff.py by default"
This reverts commit 764c8c0616.

Reason for revert: Please find https://g-issues.chromium.org/issues/402201301#comment10

Original change's description:
> pass -sort-includes to clang-format-diff.py by default
>
> clang-format-diff takes a diff output as input, and formats
> the input file, but the changed lines only.
>
> In crbug.com/402201301, it was found that it sometimes breaks
> includes grouping because it tries to format the changed include
> lines only.
>
> This CL is to pass "-sort-includes" to clang-format-diff.py so that
> it always formats the include blocks, even if they are not part of
> the changes included.
> https://source.chromium.org/chromium/chromium/src/+/main:third_party/clang-format/script/clang-format-diff.py;l=70-75;drc=d2bee6477349e500ed274b15a9da8e062a0fcf27
>
> Bug: 402201301
> Change-Id: I214ae15202469dd5c7d55c2eb43c4cce39ad731b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6343956
> Commit-Queue: Scott Lee <ddoman@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>

Bug: 402201301
Change-Id: Ibfc70b68a9153d242bc011dfe17a73d671760842
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6355303
Commit-Queue: Scott Lee <ddoman@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Anton Bershanskyi ab918ca0bc Reland "Add AffectedFile.Extension() in presubmit_support"
This is a reland of commit d447f41294

This reland excludes the change to PRESUBMIT.py which originally
caused regression and because of which the original commit was
reverted.

Original change's description:
> Add AffectedFile.Extension() in presubmit_support
>
> Add convenience method AffectedFile.Extension() for extracting file
> extension in a standard way. Add a test for this new functionality.
> Add a similar test for AffectedFile.UnixLocalPath().
>
> Bug: None
> Change-Id: If591e751fb2e4fb5355ad0b6f93f310667849d68
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6273341
> Commit-Queue: Anton Bershanskyi <bershanskyi@gmail.com>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Reviewed-by: Gavin Mak <gavinmak@google.com>

Bug: None
Change-Id: Ie5fc551b9c0818dfd9a1c571cc247cc157dbc8b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6335512
Commit-Queue: Anton Bershanskyi <bershanskyi@gmail.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
2 months ago
Keybo Qian c3129d4f4f Handle corner case where no commit logs are fetched.
This could happen if user specifies "accepted_statuses=['404']", and the current behaviour raises a KeyError exception from "last_result['log']".

Change-Id: Icebb8ac3b656548892bbf729e5df0cd5e5223ada
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6352740
Auto-Submit: Keybo Qian <keybo@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
Commit-Queue: Keybo Qian <keybo@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
2 months ago
Josip Sokcevic 454f6ce8e2 gerrit_util: Handle already abandoned change
R=keybo@google.com

Bug: 402023825
Change-Id: I104b0868152714384642ff0ea41bb9844e8d54db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6352741
Reviewed-by: Keybo Qian <keybo@google.com>
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Keybo Qian <keybo@google.com>
2 months ago
Alex Kravchuk 9211ea4acd Add verbose parameter to Gerrit recipe API.
Verbose logging is disabled by default in all functions except get_changes and the caller functions, since get_changes is already using verbose logging.

Bug: 402142151
Change-Id: Ifb4d62b215ded8f7be21217f2579574ea4d211f6
Recipe-Nontrivial-Roll: build
Recipe-Nontrivial-Roll: build_internal
Recipe-Nontrivial-Roll: chromiumos
Recipe-Nontrivial-Roll: infra
Recipe-Manual-Change: chrome_release
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6341791
Commit-Queue: Keybo Qian <keybo@google.com>
Reviewed-by: Adarsh Murthy <adarshmurthy@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
2 months ago
Allen Li 0445e00a08 [git_auth] Add _url_shortname helper
Breaking out independent chunks from a larger CL

Bug: b/401338175
Change-Id: I0b439596fb613355cb33b4b1d2a0481489d7c0c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6345630
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
2 months ago
recipe-roller 23ce12ecdc Roll recipe dependencies (trivial).
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/8720643109279477905

recipe_engine:
b4d20c176b
  b4d20c1 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from cdd565e14197 to 37cf62e10033

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iedcba939035720b1255d4e7c67de03654c3e116d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6345854
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
Allen Li 99d3aec6a5 Document Gerrit auth setup
Will link to this for people who want to do manual setup (and for
general info).

Change-Id: If5b84b27b0c3b029bcb70090ac9a5821e4fbdfe6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6343955
Commit-Queue: Allen Li <ayatane@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
recipe-roller 89e6caa83b Roll recipe dependencies (trivial).
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/8720652549240082321

recipe_engine:
a96d19ea86
  a96d19e (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from a941d3568bdd to 7a44078a668b

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5d961b171940d6f4dfbbc5ef98482348394ecd20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6345628
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
Scott Lee 764c8c0616 pass -sort-includes to clang-format-diff.py by default
clang-format-diff takes a diff output as input, and formats
the input file, but the changed lines only.

In crbug.com/402201301, it was found that it sometimes breaks
includes grouping because it tries to format the changed include
lines only.

This CL is to pass "-sort-includes" to clang-format-diff.py so that
it always formats the include blocks, even if they are not part of
the changes included.
https://source.chromium.org/chromium/chromium/src/+/main:third_party/clang-format/script/clang-format-diff.py;l=70-75;drc=d2bee6477349e500ed274b15a9da8e062a0fcf27

Bug: 402201301
Change-Id: I214ae15202469dd5c7d55c2eb43c4cce39ad731b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6343956
Commit-Queue: Scott Lee <ddoman@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Josip Sokcevic c253820d11 [presubmit_canned_checks] Read DEPS file of modified repository
Read the DEPS file of a modified repository since submodules are coming
from it.

R=yiwzhang@google.com

Fixed: 402396938
Change-Id: I05c91c60b2b1ea58637242fb9970c3fabd58560e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6344911
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Josip Sokcevic f61e11c19f roll_dep_test: fix tests
This partially reverts commit 1221440015.

Change-Id: Ib2e9d41b3871004376a952e643e13a7e67eb750e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6340427
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Allen Li <ayatane@chromium.org>
2 months ago
Allen Li b0d4f7c473 [gerrit_util] Add CheckShouldUseSSO function
This exposes the reason for the SSO detection, to be used in the auth
config wizard.

There are some minor changes to fix pyright (type checking) errors on
these lines.

Bug: b/401338175
Change-Id: Ibf63a1a078a9ae82598796e329d075f19de58ea7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6334613
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
2 months ago
Peter Wen 5d5ea66f01 git_cl: Add flag for owners override
This allows setting OO+1 with `git cl upload --enable-owners-override`.

R=sokcevic@chromium.org

Bug: None
Change-Id: Iddac69653a539a15beee38ea4957be1a9b19b57a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6340467
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Devon Loehr 9dc0551d52 [git cl split] Add new cluster-based splitting algorithm
This CL adds a new way of generating splittings, which clusters files
based on their directory structure (while respecting `set noparent` in
OWNERS files). The user provides a minimum and maximum acceptable
number of files per CL, and the algorithm attempts to create CLs in
that range with a single unique reviewer for each. I've tested it on
some example CLs, and it seems to work well -- certainly better than
the existing algorithm.

Usage of the new algorithm is triggered by passing the
`--target-range` option to `git cl split`. A second new argument,
`--expect-owners-override`, may also be used to ignore OWNERS during
the clustering algorithm.

Bug: 389069356
Change-Id: I321e6424b2bdb7624b370af23b73759fda261161
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6324373
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 months ago
Dan Le Febvre b123624ac6 Document the current state of LUCI GCS integration
Change-Id: I39c01200208de15e5ce2101ecc273f823875bc0d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6326717
Auto-Submit: Dan Le Febvre <dlf@google.com>
Commit-Queue: Scott Lee <ddoman@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Scott Lee <ddoman@chromium.org>
2 months ago
Josip Sokcevic f8e16bdbd6 Reland^2: Fix CheckForRecursedeps to work for submodule based gclient DEPS
This reverts commit 7d6d4424b5.

Change-Id: Ibb05a6b6db2babef525a4230c01785570e074161
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6336451
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Robbie Iannucci <iannucci@google.com>
2 months ago
Josip Sokcevic dbfdedfa08 Fix root path on Windows
User may use lowercase drive letter when entering gclient workspace.
In such case, path should be corrected to real path value.

R=wfh@chromium.org

Fixed: 401141847
Change-Id: I0b08985ec5c911a315922858d248ff53a10ed682
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6336450
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
2 months ago
Josip Sokcevic 7d6d4424b5 Revert "[presubmit_support] Reland: Fix CheckForRecursedeps to work for submodule based gclient DEPS."
This reverts commit 4bef3f145a.

Reason for revert: https://crbug.com/401429917

Original change's description:
> [presubmit_support] Reland: Fix CheckForRecursedeps to work for submodule based gclient DEPS.
>
> R=sokcevic
>
> Bug: 401077549
> Change-Id: I68a2d153ce21e576ddc8b0449894e419097afba0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6334747
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
> Auto-Submit: Robbie Iannucci <iannucci@google.com>
> Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>

Bug: 401077549
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I38f20ca8915530f7f30e300f6f5d7590832c4ef7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6336255
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Yiwei Zhang cbf61c7044 CheckNewDEPSHooksHasRequiredReviewers checks approval from required
reviewers

The check mandates approval from required reviewers during submission.
Without it, the CL author could land the CL without explicitly
approval from required reviewers.

Bug: 396736534
Change-Id: I4671f123419b8f94a969b6caccf13a2064511a0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6313625
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Robert Iannucci 4bef3f145a [presubmit_support] Reland: Fix CheckForRecursedeps to work for submodule based gclient DEPS.
R=sokcevic

Bug: 401077549
Change-Id: I68a2d153ce21e576ddc8b0449894e419097afba0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6334747
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Yiwei Zhang cbd6ff76ec presubmit_support: write to stdout if --json_output - is specified
As part of new findings cider extension work, we need to show
presubmit result as findings in the new panel. The extension only
has access to stdout/stderr of the process executing presubmit
checks. Therefore, we need a way to write structured data
(i.e. json) to the stdout.

Bug: 397700948
Change-Id: Ie9e51d39389613c5f93ca054102b169a99e356b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6330090
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
2 months ago
Robbie Iannucci 01fcf2b8c5 Revert "[presubmit_support] Fix CheckForRecursedeps to work for submodule based gclient DEPS."
This reverts commit bb2a896987.

Reason for revert: Looks like this was insufficient - https://ci.chromium.org/ui/p/chromium/builders/ci/linux-presubmit/25451/overview

Will investigate more tomorrow.

Original change's description:
> [presubmit_support] Fix CheckForRecursedeps to work for submodule based gclient DEPS.
>
> R=sokcevic
>
> Bug: 401077549
> Change-Id: I51fcabad5e563a65614d4b35e6600e7e511f7ba4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6330092
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
> Auto-Submit: Robbie Iannucci <iannucci@google.com>
> Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>

Bug: 401077549
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I0730ea3f119b0acea7ed7a219cf723fc8116cd07
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6334078
Owners-Override: Dan Le Febvre <dlf@google.com>
Commit-Queue: Dan Le Febvre <dlf@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Dan Le Febvre <dlf@google.com>
2 months ago
Robert Iannucci bb2a896987 [presubmit_support] Fix CheckForRecursedeps to work for submodule based gclient DEPS.
R=sokcevic

Bug: 401077549
Change-Id: I51fcabad5e563a65614d4b35e6600e7e511f7ba4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6330092
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Garrett Beaty f40ddcd8d5 Update lucicfg to v1.44.1.
This enables support for the disable_reuse_footers argument to
luci.cq_tryjob_verifier.

Bug: 40785878
Change-Id: Ibf0183a0c9ca50ec1d8d8badbb556a97adfe875c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6330083
Auto-Submit: Garrett Beaty <gbeaty@google.com>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
2 months ago
recipe-roller 6d817fd7f4 Roll recipe dependencies (trivial).
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/8721272885615833537

recipe_engine:
b67985a8c7
  b67985a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 41a8a384b392 to b7196a984610

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia2915d471faa88ad7830704c39c1bdd48974f29b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6326131
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
Devon Loehr 5825f91d8c [git cl split] Add trie structure for clustering
This CL defines a trie-based datastructure for representing files based
on their path. It directly mirrors the structure of a file system,
keeping track of directories and the files inside them. It also stores
some information about OWNERS files, for use during clustering (we
won't cluster files together if there's a "break" in ownership due to
`set noparent). Optionally, the ownership information can be overridden;
this will be done via a command-line flag when the algorithm is fully
implemented.

Bug: 335797528
Change-Id: I5dcdf36695a1da5714ec021e5e18b6c36855a4f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6321290
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 months ago
Devon Loehr c48f866fcf Select a minimal number of owners for a set of files
This CL adds a function which takes a set of files, and attempts to
select a single owner for all of them. If it cannot, it falls back to
the standard owner selection algorithm, which may result in more owners
being chosen than necessary, but guarantees that a valid set of owners
is always returned.

Bug: 389069356
Change-Id: I985804040f149a02bfb5b3c6b946602a81334e7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6321289
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 months ago
Devon Loehr 20193073f8 [git cl split] Make Emit and EmitWarning variadic
This better matches the print function which they replace, and prevents
errors from passing the wrong number of arguments. We also change
printing in one function to be more user-friendly.

Bug: 389069356
Change-Id: Ia41d256b441bffa063f5d0b5ab4eb20725aaeaf4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6322690
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 months ago
recipe-roller 5c4253d15d Roll recipe dependencies (trivial).
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/8721332655569278769

recipe_engine:
7efdb2adb7
  7efdb2a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 953c4ca09288 to ab99f409094b

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I33ac23ab5e83e11ec02a1872e518af04ba9f3510
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6321726
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
recipe-roller f53d073a6d Roll recipe dependencies (trivial).
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/8721375437512917649

recipe_engine:
046d33fe16
  046d33f (yoshiki@google.com)
      Add support of hardlinking to api.file.copytree()

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie27f17b5ad415ef11b5d32f24872da25d7ca3cc0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6317718
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
Yiwei Zhang 191c73e7a2 CheckNewDEPSHooksHasRequiredReviewers computes reviewers from OWNERS
Instead of taking reviewers as input args, it computes the reviewers
from the top-level OWNERS file because otherwise, all callers will
basically do the same thing at the callsite.

Bug: 396736534
Change-Id: I3ea83b8285fab8b75cb77b40b10414c6a3dea6b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6313624
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
recipe-roller 85ec2718b5 Roll recipe dependencies (trivial).
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/8721445271873104529

recipe_engine:
ecfa431bdf
  ecfa431 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 21c0149742a3 to ca20346b3e3d

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie97ed928ae144718cd021c4e56e0037a8c2ca4b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6315000
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
recipe-roller 50eedb1b5a Roll recipe dependencies (trivial).
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/8721652257632529921

recipe_engine:
74d6343aef
  74d6343 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 657d7bc2c9d8 to 5d4ee097b7e4

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idae30f30eb46066d1987b04d27d71d2f96b06f6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6313662
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 months ago
Yiwei Zhang 1221440015 roll_dep_test: remove file:// scheme in the git url
roll_dep_test is currently using file:///path/to/repo as git url.
Interestingly, the test is not failing in presubmit bot but
failing locally because it is trying to clone using sso protocol
(see: b/391455129#comment11). I think the presubmit bot is not
equipped with git-remote-sso so the tests are able to pass. However,
on a local workstation, git-remote-sso is available but it should
not be used as the file:// scheme should indicate using local
transport protocol. Quoted from
https://git-scm.com/docs/git-clone#_git_urls
> When Git doesn’t know how to handle a certain transport
protocol, it attempts to use the remote-<transport> remote helper,
if one exists.

Removing the file:// scheme appears to fix the issue even though
the only difference is the usage of --local flag according to the
doc.

fwiw, I did try to inject `--local` flag but it gives me a warning
`--local is ignored`. I haven't dig deep enough to figure out why
the flag is ignored.

Bug: 391455129
Change-Id: I8fab9aee5198b2eedfacdb60161197b58f7533ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6313297
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
2 months ago
Allen Li c4e7c8717c gerrit_util: Delete temporary text about auth testing setup
Change-Id: I6c61998c1fca2681f6dc0f33468a8ae5b378f12e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6306289
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
2 months ago
Allen Li 4ac4d26e80 gerrit_util: Always use SSO in Cog
Bug: 396027841
Change-Id: I0e4f8442b0b630afaf1b716115007af3cbf6ee38
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6306288
Commit-Queue: Allen Li <ayatane@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Peter Wen 3a5e3144af split_cl: Fix Emit-related warnings
Encountered while using `git cl split`.

Bug: None
Change-Id: I8ecaf44a64a5917f50176b8d88e367731a6dee35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6309324
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Devon Loehr <dloehr@google.com>
Auto-Submit: Peter Wen <wnwen@chromium.org>
2 months ago
Fumitoshi Ukai f638e8a918 autoninja: use build/toolchain/remoteexec_defaults.gni for use_reclient
Instead of using build/toolchain/use_reclient_value.py in
both autoninja and gn, use build/toolchain/remoteexec_defaults.gni
to set default value for use_reclient (on siso or on ninja).

Bug: 397994249
Change-Id: Ia4302fe8794218d485e52ca38f8523453814a6b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6301378
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
2 months ago
Yiwei Zhang e5159abea6 Add CheckNewDEPSHooksHasRequiredReviewers canned check
This will later be used in chromium PRESUBMIT to ensure newly added DEPS
hook MUST be reviewed by a dedicated reviewer.

Bug: 396736534
Change-Id: I3859814c6316d4e576d12114277671ed5db80e33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6284565
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
2 months ago
Yiwei Zhang 53f5a2d969 stop running test in python 3.8
chromium[1] and cros[2] have both moved to 3.11 which is the version
depot_tools use by default right now. Therefore, we should stop running
tests using python 3.8 to ensure compatibility and start using features
introduced after python 3.8

[1]: https://issues.chromium.org/40942322
[2]: http://b/318531403

Change-Id: I2bac00421a46793717387cec1898035b10b13b9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6306285
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 months ago
Mohamed Heikal 678f73bd0e [autoninja] Pass the output directory to the build server
When registering the build with the build server, pass in the output
directory.

Change-Id: Ie6ed0bf5d73926fb163085067aafcd350063ee5a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6249305
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: Philipp Wollermann <philwo@google.com>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
2 months ago
Fumitoshi Ukai deb5575fbd autoninja: move use_siso default logic in autoninja.py
chromium now doesn't use `use_siso` value for build graph,
so no need to use use_siso_default.py in gn context.
use_siso value is only used to determine autoninja use
siso or ninja, so put use_siso default logic in autoninja.py.

Will remove build/toolchain/use_siso_default.py in chromium

Bug: 397994249
Change-Id: Idb31c4e75f0a1c3bc4a97089494ec16be9879a49
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6301272
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
2 months ago