tree 88d0a9c593e51c5d534a5262e0f3b71fb64ee7e2
parent 5b5578d7b4387d854d97d80471f69838e0409695
author pigweed-internal-roller <pigweed-internal-roller@pigweed.google.com.iam.gserviceaccount.com> 1644597209 +0000
committer Copybara-Service <copybara-worker@google.com> 1644597363 -0800

[roll recipes_version.txt] Roll recipe dependencies (trivial).

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

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

fuchsia:
https://fuchsia.googlesource.com/infra/recipes/+log/e9bdb816d8c91b93c185982d8d12aa078e96fb8a~..dbd5c0b3f9424933346db7fb78f2095593b00097
  e9bdb81 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  17bebfd (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  5c40f53 (atyfto@google.com)
      [jiri] Remove cherrypick option from jiri patch
  4dff10b (atyfto@google.com)
      [fuchsia/build] Stop passing on exceptions for CIPD uploads
  4a1835f (atyfto@google.com)
      [sdk] Upload SDK to CAS in try
  e60735f (atyfto@google.com)
      [cl_util] Rename to presubmit_util
  be5d25c (yupingz@google.com)
      Rename cipd snapshot files to cipd
  34d3ea4 (yupingz@google.com)
      [code-search-superproject] update .gitmodules location
  959a941 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  967a574 (olivernewman@google.com)
      [sdk] Use sdk_archives.json to determine files to upload
  e811dc1 (yupingz@google.com)
      Update .gitmodules to ../.gitmodules
  bbdc40e (haowei@google.com)
      [llvm] Fix llvm builders
  19bca9d (olivernewman@google.com)
      [tricium] Add support for running staticlints
  eb4a8fe (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  7da866b (phosek@google.com)
      [clang_toolchain] Provide explicit flag to control package upload
  bcf1ed2 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  3bf181c (phosek@google.com)
      [clang_toolchain] Drop AMD64=ON flag from zlib build
  ed71548 (olivernewman@google.com)
      [build] Don't reference built_targets fint build artifacts field
  a5e1a23 (phosek@google.com)
      [clang_toolchain] Use target_platform for ML model
  76350b9 (phosek@google.com)
      [clang_ml_training] Generate model for all arm64 platforms
  ad22994 (atyfto@google.com)
      [fuchsia/build] Upload assembly artifacts to CAS in try
  9826b27 (phosek@google.com)
      [clang_ml_training] Copy xla_aot_runtime_src directory into model
  cddd164 (olivernewman@google.com)
      [build] Remove remaining references to built_targets field
  c325638 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  d7cac38 (haowei@google.com)
      [llvm] Update sysroot of llvm recipe.
  ed0c30d (olivernewman@google.com)
      [fint] Delete built_targets build artifacts field
  8630bbb (chcl@google.com)
      Revert "[roll] Update tools to latest"
  dbd5c0b (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py/+log/57c0b508b2f382e61bbca75afae20ca886475d59~..b262ba1eaca11481354042112f7c780a3176388a
  57c0b50 (yiwzhang@google.com)
      bb: inline tags_for_child_build into scheduler module
  e662254 (bryner@google.com)
      infra/tools/protoc does not exist for mac-arm64, use amd64 inst...
  b262ba1 (iannucci@chromium.org)
      [time] Improve time module to work with gevent.

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

R=tpudlik@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/84060
Bot-Commit: Recipe Deps Roller <recipe-deps-roller@pigweed.google.com.iam.gserviceaccount.com>

https://pigweed.googlesource.com/infra/recipes
recipes_version.txt Rolled-Commits: eaa84b198127848..b4ea0cc741fe266

GitOrigin-RevId: d98bf5adb8ad15b7d714ef3ae287a2865b5aed79
Change-Id: Ia02e2d947e83b9beac4d7dffe41b0cf57c427e58
