tree 3414ff0f03e896ce1042235b81b6edde03e854cf
parent 5432e2382d21c454414aa4585b745616bce8e246
author recipe-roller <dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com> 1632195637 -0700
committer commit-bot@chromium.org <commit-bot@chromium.org> 1632206446 +0000

Roll recipe dependencies (trivial).

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

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

build:
https://chromium.googlesource.com/chromium/tools/build.git/+log/db6b47c9627260b9890c3f96342518e98cf36f3b~..be58f26c356dd2fc99ab857d41eca19cc49e5d70
  db6b47c (adetaylor@chromium.org)
      [rust] Add builders for Rust experiments.
  be58f26 (bpastene@chromium.org)
      Reland "Add a simple implementation of Tests.pass_fail_counts()...

chromiumos_config:
https://chromium.googlesource.com/chromiumos/config.git/+/552a34e701bf4b1440b9a851e8667bd74117a4d9
  552a34e (smcallis@google.com)
      dut-attributes: Add aliases and remove software labels

chromiumos_proto:
https://chromium.googlesource.com/chromiumos/infra/proto.git/+log/687090ba58806064e7b626b60b52c2f77bcb01ba~..665690632bee4adb3816111e5b625eec13d8e3f5
  687090b (smcallis@google.com)
      containers: Create metadata schema for Docker images
  7360773 (smcallis@google.com)
      build-api: Update BuildTestServiceContainers interface
  6656906 (smcallis@google.com)
      ctp2: Finish fleshing out request message format.

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/eb28118b7a61ec5c21906b6fceea657d66b4f004~..c1fd44b01a571e82dea1aa16d9174c7c73f30118
  eb28118 (jmadill@chromium.org)
      Call python3.bat explicitly from gn.bat on Windows.
  c1fd44b (sokcevic@google.com)
      Set cache-control when uploading to google storage

fuchsia:
https://fuchsia.googlesource.com/infra/recipes.git/+log/e1602ef5cf6287ae5a4a65c75d667dcf444a2428~..26f55396b791c6b4196534c8cd7f4e82a9d90c74
  e1602ef (haowei@google.com)
      [jiri] Roll Jiri to its latest version.
  897d72e (olivernewman@google.com)
      Delete unnecessary tests for new CIPD package uploads
  4797695 (rudymathu@google.com)
      [recipes] Add function to get manifest revision
  6a4f369 (ihuh@google.com)
      [symbolize][coverage] Use the old symbolizer for coverage build...
  902c8e7 (rudymathu@google.com)
      [recipes] Add rev-list --count function to git API
  39d8897 (mcgrathr@google.com)
      [contrib] New recipe for standalone binutils
  26f5539 (rudymathu@google.com)
      [recipes] Add min_rebase_distance to checkout API

infra:
https://chromium.googlesource.com/infra/infra.git/+log/3dfaf632c927f19f4814de0880e8fb72c7131612~..13466a0f6c4438581411ab0c4f8d52ae48b580cf
  3dfaf63 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from ac924f1bec24 to c21ef9243e86 (1 rev...
  0b77a09 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from de402fad2796 to f2a4cf3d87b3 (...
  c3f1ece (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 99ec313c2e4e to ae633de8b174 (1 revision)
  f0d8168 (pasthana@google.com)
      Revert "Trigger feature coverage worker at startup instead of c...
  e222353 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from ae633de8b174 to 19c20415456a (1 revision)
  7e14dd1 (dtu@google.com)
      🚝 Update protobuf to the latest version.
  236732a (dtu@google.com)
      🚝 Update Monorail Python 2 dependencies.
  fca5f7a (dtu@google.com)
      🚝 Add enum34 and six to requirements.dev.txt.
  1d43b43 (pasthana@google.com)
      Trigger feature coverage worker every 4 hours
  02b701b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from c47161817f5c to c999be1cc213 (1 revision)
  60ec470 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 19c20415456a to 88d090249db2 (1 revision)
  fa3f282 (mwarton@google.com)
      Weetbix: Add titlebar and basic styles
  a69fa59 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 88d090249db2 to 1b24f3ea083f (1 revision)
  db6846a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 1b24f3ea083f to 9a8e3cd74d15 (1 revision)
  677791b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from f2a4cf3d87b3 to 736077364528 (...
  38d729c (gregorynisbet@google.com)
      [karte] [action-lifecycle] Add GetActionEntityByID function.
  e9c1b2b (xixuan@google.com)
      UFS: auto-generate mac address for new vm
  2715326 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from c21ef9243e86 to 552a34e701bf (1 rev...
  fadc147 (andrewlamb@chromium.org)
      Manual roll of infra/proto repo.
  fdbd3ba (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 552a34e701bf to f961fc3f62d3 (1 rev...
  15a7d16 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 665690632bee to 9588d8e4bf2b (...
  9707d43 (jackneus@google.com)
      branch_util: tweak branch creation via API
  574c2a7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from f961fc3f62d3 to 4f2ee34aa229 (1 rev...
  1bff00a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 9a8e3cd74d15 to 1798e91e7f14 (1 revision)
  13466a0 (andrewjc@google.com)
      [🚝]: Fix typo in requirements.dev.txt.

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/651ca1c8b484908c69291d6fe2b50c1e2d93507d
  651ca1c (yuanjunh@google.com)
      If None, assign devnull to stdin when starting subprocess

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

R=whesse@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id1ce3415bd96b159e759b671f420025f0c758b54
Reviewed-on: https://dart-review.googlesource.com/c/recipes/+/214002
Bot-Commit: Dart CI <dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
