tree 56d4e256272b8a47d8b4eee2a9a6f1f70ab6908c
parent 9f78be738b5431b3572ee3d9ab8809526ca15687
author recipe-roller <recipe-deps-roller@pigweed.google.com.iam.gserviceaccount.com> 1656337242 +0000
committer Rob Mohr <mohrr@google.com> 1656337242 +0000

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/8810213257911374257

fuchsia:
https://fuchsia.googlesource.com/infra/recipes/+log/1d089c55696b5a1ca2bf2628474e4544d5a70792~..b2c7e10be7ebfded87fea76897470c548b209dae
  1d089c5 (fangism@google.com)
      Revert "[rbe] Update log.proto"
  a22ad57 (andresvi@google.com)
      [cipd_integration_tagger] Convert to proto properties
  79fbe24 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  6508a90 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  e9d6424 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  d887784 (catduncan@google.com)
      [builder_oracle] Write initial builder oracle recipe
  aa1262c (atyfto@google.com)
      [sdk] Don't attempt to relocate images for non-releases
  6580df0 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  70395fd (atyfto@google.com)
      [presubmit_util] Use wait-on-cq subcommand
  07861b5 (atyfto@google.com)
      [sdk] Add relocate_image_archives behavior
  1caf986 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  3a572ec (olivernewman@google.com)
      [static_checks] Check all files on integration changes
  c25e79d (andresvi@google.com)
      [tricium] Convert to proto properties
  23e3324 (olivernewman@google.com)
      [coverage] Fix pylint errors
  3e910d7 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  eadda2f (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  64b5508 (yiwzhang@google.com)
      update cq.proto
  869d7c5 (andresvi@google.com)
      [coverage] Convert to proto properties
  e0315a0 (olivernewman@google.com)
      [recipe_tools_roller] Roll tools in recipe resource manifests
  c31855f (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  aabd4c8 (olivernewman@google.com)
      [update_test_durations] Introduce recipe
  813aa39 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  c13c4f5 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  4f8198e (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  28e3c9b (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest
  b2c7e10 (global-integration-roller@fuchsia-infra.iam.gserviceaccount.com)
      [roll] Update tools to latest

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py/+log/13b77f0e1dc3e0f15f540679262ce966917c15a3~..5a7f940c8e17572245e886877b58038135f76409
  13b77f0 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 5f84a66bf481 to 5d9b6ecf87cd
  5a7f940 (yiwzhang@google.com)
      roll the pin of luci-go proto (excluding buildbucket proto for...

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

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