skia2/infra/bots/recipe_modules
recipe-roller 622e36f783 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/43c083d5a4289d0f470be79c9d78b5b9916de3e5 Add missing options to git_rebase_update man page (dmcardle@chromium.org)
  https://crrev.com/5f6b911ad015b2660547353753bcfe50ae932fe2 Roll vpython. (iannucci@chromium.org)
  https://crrev.com/ccd2b4da9a7e6ddf126c0b4437db75201836154c Pruning old directories/ready files. (karenqian@google.com)
  https://crrev.com/80ee78e7fa9f84c3b36cc57e02034dc726d782af Convert print statements to Python 3 style (raul@tambre.ee)
recipe_engine:
  https://crrev.com/ec34fcd3b421c95e45a22bec90e9e676cd84928c Update implementation notes with information about magic_check_fn. (gbeaty@chromium.org)
  https://crrev.com/f95f160ff4e99f7c6b2e4cce06923e75cc158e26 Add beefier access control to StepData, remove StepDataAttributeError. (iannucci@chromium.org)
  https://crrev.com/a71df95b9d2348c680f05746607e12822d34517e Final simplification to RecipeResult. (iannucci@chromium.org)
  https://crrev.com/b4dac2345a45f448221fba393266fbcf541619db [buildbucket] Add search limit (nodir@google.com)
  https://crrev.com/a9d4612406b19eb642d31bff5b5a0705a783b5b0 Move StepData to its own file. (iannucci@chromium.org)


R=rmistry@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia9a9245089fb8cb46369f31b4acf5c3138a68e7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214660
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-05-20 12:33:25 +00:00
..
build [infra] Pin infra code using Go modules 2019-05-06 17:53:19 +00:00
builder_name_schema Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
checkout [recipes] Fix Windows pathsep; add Windows tests 2019-04-24 19:53:28 +00:00
doxygen [recipes] Manual roll. 2019-02-17 21:24:01 +00:00
env Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
flavor Roll recipe dependencies (nontrivial). 2019-05-20 12:33:25 +00:00
git [recipes] Fix Windows pathsep; add Windows tests 2019-04-24 19:53:28 +00:00
gsutil Roll recipe dependencies (nontrivial). 2019-05-20 12:33:25 +00:00
infra [infra] Pin infra code using Go modules 2019-05-06 17:53:19 +00:00
run Roll recipe dependencies (nontrivial). 2019-05-20 12:33:25 +00:00
vars [recipes] Fix Windows pathsep; add Windows tests 2019-04-24 19:53:28 +00:00
README.md Use new recipes.py test command 2017-04-18 13:57:56 +00:00

Skia Recipe Modules

This directory contains recipe modules designed to be used by recipes (see infra/bots/recipes). They are all Skia-specific and some are interrelated:

  • builder_name_schema - Helps to derive expected behavior from task (formerly builder) names.
  • core - Use as a starting point for most recipes: runs setup and sync steps.
  • ct - Shared Cluster Telemetry utilities.
  • flavor - Allows the caller to specify a high-level command to run, leaving the platform-specific details to be handled by the specific flavor module.
  • infra - Shared infrastructure-related utilities.
  • run - Utilities for running commands.
  • swarming - Utilities for running Swarming tasks.
  • vars - Common global variables used by Skia recipes/modules.

When you change a recipe module, you generally need to re-train the simulation test:

$ python infra/bots/recipes.py test run --train

Or:

$ cd infra/bots; make train

Each recipe module contains a few files:

  • api.py - This is the meat of the module.
  • __init__.py - Contains a single DEPS variable, indicating the other recipe modules on which this module depends.
  • example.py - Optional, this file contains examples which demonstrate how to use the module and should contain enough tests to achieve 100% coverage for the module. The tests are run using the recipes test command above.