tree eacad3fdc883b0a6df7aad88cd8ababb5a45dab7
parent 7e91f58bbe2715704dfd5eb79e55cb900a968265
author recipe-roller <flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com> 1675895759 +0000
committer CQ Bot Account <flutter-scoped@luci-project-accounts.iam.gserviceaccount.com> 1675895759 +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/8789692902000540657

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e3fe0270094dd7b3a75d0e54ef4f2eb592bb97cb~..7d6a777cdb3dcbdbc5dc73994f258693b4598299
  e3fe027 (sharma.loic@gmail.com)
      [Windows] Ignore extra spaces in ninja args
  79499cf (jojwang@chromium.org)
      Update env_vars metrics name.
  963e01c (jwata@google.com)
      Remove ninja entries from cipd_manifest.txt
  a02b4bf (aravindvasudev@google.com)
      Fix gerrit new-password URL
  91ea912 (aravindvasudev@google.com)
      Remove OOB deprecation log from gsutil
  ef2d011 (aravindvasudev@google.com)
      Do not add line break to the end of stdout/stderr
  6215dd0 (jojwang@chromium.org)
      stacked-changes: Skip empty branches.
  7d6a777 (rgw@google.com)
      Updating lucicfg to version 1.38.0 -> 1.38.1

fuchsia:
https://fuchsia.googlesource.com/infra/recipes.git/+log/6b2c664f34e61586a652fbb344145388e8dab029~..dc9c118c318047c0cf68d0888d9305f797ec4261
  6b2c664 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e30f85c (phosek@google.com)
      Revert "Reland "[testing_requests] Upload files directly from b...
  fc9864c (phosek@google.com)
      [cmake] Address review feedback
  54e8c76 (atyfto@google.com)
      [bazel_btu] Delete stale command-based codepaths
  338f663 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  94f70e7 (atyfto@google.com)
      [bazel_btu] Split out build_args -> target, options
  b01a163 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  8724c11 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  9f07fec (atyfto@google.com)
      [cleanup] Migrate more string formatting to f-strings
  66b169b (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  36a9011 (josephry@google.com)
      [toml] Add toml recipe module
  89854a2 (danikay@google.com)
      [platform versioning] Enable running recipe in dry run mode
  570c560 (rudymathu@google.com)
      [recipes] Add recipe to roll lkg images in salt
  53ff8fb (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  5a4be55 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  540af7b (atyfto@google.com)
      [cipd_to_git] Fix handling of packages at root of repo
  a51aff1 (olivernewman@google.com)
      [auto_roller] Fall back to `author` if `real_author` is unset
  dc9c118 (msteen@google.com)
      [dart_toolchain] Updating Dart targets.

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+log/6473859b070ab4e25c0c134ff3f5efd14134c5e7~..985a9d1c5a6e38dc0ae61fbcd00c832b10a1dcdd
  6473859 (zbikowski@google.com)
      Skip placeholder for get_file in url recipe module
  5960b43 (juahurta@google.com)
      recipe_engine: add option to skip step presention when using fi...
  4387134 (bpastene@chromium.org)
      Switch internal recipes.py callsites to py3 in recipe autoroller
  8174525 (chanli@chromium.org)
      [recipe-py] led: support trigger real build
  985a9d1 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from e2742d350e80 to a8b84fba102d

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: Icfeddbead0e658193a43d54a6c81f3bb005ad4ff
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/38881
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>
