tree 0c82878a9f2d2e85a53e92461db2204fcff1d950
parent 2a696d427ac59cea695cc0a1e1ddaf6138f75529
author recipe-roller <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com> 1658857597 +0000
committer CQ Bot Account <flutter-scoped@luci-project-accounts.iam.gserviceaccount.com> 1658857597 +0000

Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, fuchsia, recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8807559102687168929

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a83ac9395c14b74938a84665a3cd695e50559d4e~..647cfe6bf10efa3e171bed867a455347567007c7
  a83ac93 (yuanjunh@google.com)
      [depot_tools] roll led
  2530311 (cassew@chromium.org)
      Allow depot_tools/.git to be a file
  e7fd0ca (yulanlin@google.com)
      [verified-builds]: Update lucicfg to 1.31.4
  0e5881f (vadimsh@chromium.org)
      [cipd] Update the client v2.6.5 => v2.6.7.
  4e6264c (jojwang@chromium.org)
      [gclient] Specify which DEPS is still using `use_relative_hooks`.
  566e9d0 (manukh@chromium.org)
      [git-cl] If set, use `options.title` for initial uploads.
  6628661 (jojwang@chromium.org)
      [no-sync] Add a skip_sync_revisions and process it before runni...
  18af7ef (jojwang@chromium.org)
      [no-sync] Update ParseDepsFile to process deps and hooks approp...
  c6798c8 (jojwang@chromium.org)
      [depot tools] Update six version.
  5a7c824 (jojwang@chromium.org)
      [no-sync] Add method to check for diffs between the current che...
  6e70e86 (brucedawson@chromium.org)
      Fix presubmit_support.py to handle CRLF in PRESUBMIT.py
  bb07d9e (richardwa@google.com)
      Remove use_rbe gn arg support
  1601b3e (jackneus@google.com)
      git_cache: wrap "git remote show" call in retries
  d22bf60 (gavinmak@google.com)
      Add number of presubmit errors/warnings in header
  c3ac73e (gavinmak@google.com)
      Remove 'Fetching' check in testTrackTag
  6757d46 (brucedawson@chromium.org)
      Rearrange presubmit timing message for easier scanning
  b4a8efb (thestig@chromium.org)
      Teach "fetch pdfium" about the checkout_configuration property.
  968a19b (heiserya@google.com)
      Update Pinpoint CLI for Octopus
  c8fadda (bryner@google.com)
      New vpython to depot_tools.
  26bc518 (ukai@google.com)
      Roll out goma client VERSION=250
  8168f76 (qyearsley@chromium.org)
      Update lucicfg from version 1.31.4 to 1.31.5
  ea11cc3 (gavinmak@google.com)
      Remove apply_patch_on_gclient property
  26460d8 (thestig@chromium.org)
      Fix typos in PDFium fetch config.
  f05fcf7 (qyearsley@chromium.org)
      Update lucicfg from version 1.31.5 to 1.31.6
  90191b1 (tikuta@chromium.org)
      recipes: use vpython3 in gerrit recipe modules
  9585c93 (chanli@chromium.org)
      roll dirmd
  164952a (qyearsley@chromium.org)
      Revert "Update lucicfg from version 1.31.5 to 1.31.6"
  904ca29 (chanli@chromium.org)
      [depot_tools] roll led
  f3edc50 (jojwang@chromium.org)
      [no-sync] Store previous sync commit in memory.
  7298625 (tikuta@chromium.org)
      recipes: use python3 for git_footers.py
  16d08f0 (tperrotta@chromium.org)
      git-cl: parse baseurl arguments eagerly
  0ba2fd4 (brucedawson@chromium.org)
      Get full paths in presubmit traceback stacks
  fcb6206 (tperrotta@chromium.org)
      Add a fetch config for chrome (internal).
  debf640 (tperrotta@chromium.org)
      Add a fetch config for devtools (internal).
  36bf3a8 (tperrotta@chromium.org)
      yapf: remove unused `re` import
  77da3f2 (jojwang@chromium.org)
      Fix flaky testRecursedepsCustomdepsOverride.
  647cfe6 (vapier@chromium.org)
      pylint: drop unversioned program

fuchsia:
https://fuchsia.googlesource.com/infra/recipes.git/+log/1f6bb38eea5cb2c1e9727c42bf427d5b1235564b~..669e4b39fbb2c82d03e005c411635d83e19ea933
  1f6bb38 (haowei@google.com)
      Make clang_toolchain recipe trigger tip-of-tree Fuchsia builder
  05349d2 (mohrr@google.com)
      [git] Add options to use --filter
  2b7b810 (danikay@google.com)
      [disabled-tests] Add date_created column for tracking disabled...
  71191c6 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e1dc8fb (catduncan@google.com)
      [builder_oracle] Fix the command line argument -json-output
  2bfc54c (olivernewman@google.com)
      [testing] Pass resultdb tags as a dict
  ceefdd6 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  713ba5a (olivernewman@google.com)
      [fuchsia] Add shard_name resultdb tag
  388e966 (olivernewman@google.com)
      [tree_closer] Emit output prop of failing builder names
  68482e6 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  c10989a (danikay@google.com)
      [disabled-tests] Improve regex to catch comments on re-enabling...
  6918a3f (haowei@google.com)
      Use git from CIPD in Clang Windows build.
  3f1b2e5 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  4a01bb9 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  bcfb549 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  578fb45 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  0cbf698 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  78e51a0 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  5cd032f (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  62013f4 (olivernewman@google.com)
      [fuchsia] Avoid setting null swarming bot resultdb tag
  4487363 (olivernewman@google.com)
      [checkout] Use api.git.rev_list_count method
  29ba328 (olivernewman@google.com)
      [git] Delete `directory` arguments
  0a25622 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e244a34 (rudymathu@google.com)
      [recipes] Enable package prefetching
  58f0bf4 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  772ee4b (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  95746e2 (catduncan@google.com)
      [gerrit] Use list of comments for patchset_level_comment
  6b9ebcd (catduncan@google.com)
      [builder-oracle] Switch to message review_comment
  2eb88cb (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  dd19b3e (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e8740a7 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  1d182fc (liyl@google.com)
      [recipe][aemu_downloader] Update mac builder names
  d072eb5 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  49a750c (mohrr@google.com)
      [git] Support multiple --filter args
  07257f6 (dthorn@google.com)
      [clang] Add licenses for boringssl and curl to toolchain.
  dcdebc4 (ihuh@google.com)
      [testing] Only consider distinct tests when checking for mass f...
  8e2fab7 (rudymathu@google.com)
      [recipes] Add -use-serial to netbooted shards
  5039237 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  eb67df5 (mohrr@google.com)
      [git_checkout] Support git filters argument
  7cfa50c (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  1a44ebd (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  570386e (mohrr@google.com)
      [gerrit_auto_submit] Pass variables around
  5e74363 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e857a2a (mohrr@google.com)
      [gerrit_auto_submit] Use Options protobuf
  5edb397 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  07750f7 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  87635b2 (mohrr@google.com)
      [gerrit_auto_submit] Clarify recipe result
  c6911e9 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  76b5ee0 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  56152e2 (olivernewman@google.com)
      [gerrit] Mark all steps as infra steps
  a99b690 (rudymathu@google.com)
      [recipes] Disable package prefetching
  7d42ac7 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  46a4054 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  52cac15 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  579a1a8 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  b0c3fd1 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  eb7c272 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  34c33d6 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  2445390 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e598afa (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  3170e94 (mohrr@google.com)
      [gerrit_auto_submit] Proactively cleanup state
  a6d336e (mohrr@google.com)
      [gerrit_auto_submit] Reduce output lines
  2a8bb9c (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  7dcc036 (mohrr@google.com)
      [git] Control tracing with a property
  5fc6433 (rudymathu@google.com)
      [recipes] Roll catalyst
  6d0a89f (iannucci@google.com)
      Proto roll for crrev.com/c/3761450
  667c6a7 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  cacdc29 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  87508b3 (mohrr@google.com)
      [git] Handle non-existent logs when tracing
  414b7cc (catduncan@google.com)
      [OWNERS] Add catduncan to OWNERS
  6aa8142 (catduncan@google.com)
      [builder-oracle] Add extra guard condition to CL commenting
  bcce6a4 (gopichitluri@google.com)
      Include link to Size Check Failure documentation
  8e27a79 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  10e4b90 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  fcca24c (ihuh@google.com)
      Reland "[coverage] Pass compilation-dir to covargs."
  f6dfb69 (olivernewman@google.com)
      [py3] Remove py2 support
  7c82505 (olivernewman@google.com)
      [py3] Remove PYTHON_VERSION_COMPATIBILITY
  44c4aa6 (rudymathu@google.com)
      [recipes] Remove catalyst from testing requests
  669e4b3 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+log/fd20a01913328acafd79aa0cfd0df43fd6564dd6~..4b7ba01b8ce8d4052feff1408188ef7932351b91
  fd20a01 (atyfto@google.com)
      [protoc] Use infra/3pp/tools/protoc
  fe62657 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 361f01c81b49 to d3fd72180a64
  2fdd5ba (jwata@google.com)
      Add fast recipe rollback instrucitons
  bb01260 (alexschulze@chromium.org)
      Revert "[file] Add fail_silently to copy and copytree"
  f2ff469 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 32fe5c8d8532 to a0ba80649473
  428eeae (iannucci@chromium.org)
      Update buildbucket protos.
  0ade4d7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 46e5b6417320 to 9fbd373abf97
  a53cb2c (iannucci@chromium.org)
      [manual_roll] Allow manual_roll to work even when protoc breaks.
  e57338e (iannucci@chromium.org)
      [luciexe] Update engine to emit build streams with MergeBuild.
  65f334b (iannucci@chromium.org)
      [legacy_annotation] Allow recipes to specify legacy mode.
  5226416 (iannucci@chromium.org)
      [legacy_annotations] Only merge properties if legacy_global_nam...
  8f92d0c (iannucci@chromium.org)
      [python3] Allow repos to be python3-only.
  5db4d22 (mohrr@google.com)
      [lint] Fix Py3 'Disallowed import' failures
  cfdb92c (akashmukherjee@google.com)
      [snoopy] Uprev client provenance reporter tool.
  4b7ba01 (olivernewman@google.com)
      [analyze] Fix py3 incompatibility

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=godofredoc@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I400566142b9251730dba6efb597bd6943e88b186
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/32162
Bot-Commit: flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
