skia2/infra/bots/recipe_modules
Eric Boren 3867d59050 [infra] Revert broken recipe rolls, add test for missing patch_ref
A recent upstream CL caused our trybots to stop providing the
--patch_ref flag to bot_update:
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1174988

Unfortunately, we did not have a "normal" trybot as part of our tests,
so we did not catch it during the roll:
https://skia-review.googlesource.com/c/skia/+/151984

Bug: skia:
Change-Id: I2a02a2e1923715a685448ce5f4d58a93de51c3ef
Reviewed-on: https://skia-review.googlesource.com/152741
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-09-07 19:54:48 +00:00
..
binary_size Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00
build remove -k 0 from builds 2018-09-07 18:48:55 +00:00
builder_name_schema [infra] Support recursive configs in builder_name_schema 2018-04-17 18:56:24 +00:00
checkout [infra] Revert broken recipe rolls, add test for missing patch_ref 2018-09-07 19:54:48 +00:00
ct
doxygen [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
env
flavor [infra] Rename PowerVR jobs to be consistent. 2018-08-23 12:21:19 +00:00
git
gsutil
infra [infra] Add new go_deps asset 2018-08-03 18:33:24 +00:00
isolate
run [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +00:00
skia_swarming
swarming
swarming_client
vars Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00
README.md

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.