tree 5a044a9ecdfc82a5e3ed613ca60df42232490b7d
parent e23d95fa7e5860f2bfa2739c517330f91feddb2c
author recipe-roller <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com> 1712067257 +0000
committer CQ Bot Account <flutter-scoped@luci-project-accounts.iam.gserviceaccount.com> 1712067257 +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/8751765749239233681

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2dbb3f399a5b4243a4505310cff68f997c5a2178~..913bda46ea2d8466ade17fe88aa2d4bee0c1e828
  2dbb3f3 (iannucci@chromium.org)
      [recipe_modules/osx_sdk] Rewrite osx_sdk module to not rely on...
  77d30ab (qjw@chromium.org)
      metadata: sort result summary
  e5fb864 (nqmtuan@google.com)
      [Depot tools] Roll rdb to 46f8acdac
  b83a303 (gavinmak@google.com)
      Handle diff without chunk header
  7209f68 (tikuta@chromium.org)
      ninjalog: fix ninjalog.README.md
  89588ed (wujinli.cn@gmail.com)
      [git_cache] support ssh url
  3689639 (kimstephanie@google.com)
      Validate tar file links in gclient GCS
  37e7482 (kimstephanie@google.com)
      Upload script for first class gcs deps
  79cfa04 (qjw@chromium.org)
      metadata: early terminate certain fields to avoid over extraction
  8de9817 (msavigny@google.com)
      Add luci-auth account check for non-google on corp.
  913bda4 (jojwang@google.com)
      Print presubmit command during git cl upload.

fuchsia:
https://fuchsia.googlesource.com/infra/recipes.git/+log/363bdef74ace6cd7d1cc9c0e4af3ecf2fac50e4d~..506a2f9bbf65a40bffc52862e13511ac377324ae
  363bdef (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  72b0c68 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  1e43917 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  6cd41fb (chandarren@google.com)
      [bazel_btu] Use absolute test artifact upload path
  da5a269 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  b16d6ce (mohrr@google.com)
      [macos_sdk] Drop dep on api.platform.mac_release
  36dd00a (ihuh@google.com)
      [subbuild] Pass through recipe_integration_remote property.
  7b952f8 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  a434396 (carverforbes@google.com)
      [presubmit_util] Add Gerrit labels for checking success of pres...
  6be0c56 (haowei@google.com)
      [clang_toolchain] Disable TestConcurrentVFork test in LLDB
  599c426 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update pinned tools
  506a2f9 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update coverage pinned tools

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/8d9142848974ef5d02de7185f1f7be211ed6b555
  8d91428 (mohrr@google.com)
      [step] Update defer references

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=flutter-infra@grotations.appspotmail.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id3f375d0d9c133eb3a0d814c29e8457d8eccef2e
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/56880
Bot-Commit: flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com>
