skia2/infra/bots/recipe_modules
John Budorick 74be2f2095 Manually roll skia recipe deps.
This includes:
 recipes-py:  f5e47cfc28..554e8878ac
 depot_tools: 109907e6a9..1e71b8bdf0
 tools/build: f7b41106d6..dcca7cbe7e

The ranges include my generic postprocess/merge change in tools/build
that had been failing to roll over in https://skia-review.googlesource.com/c/13920/
along with a few corresponding fixes.

Change-Id: I7e328bdb3acfc9b4c219e408c226f181f3b05f3d
Reviewed-on: https://skia-review.googlesource.com/14678
Commit-Queue: John Budorick <jbudorick@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2017-05-02 19:50:11 +00:00
..
builder_name_schema Recipes: remove some pragma: no cover 2017-04-19 19:14:46 +00:00
core Manually roll skia recipe deps. 2017-05-02 19:50:11 +00:00
ct Recipes: Use strict coverage, part 1 2017-04-19 11:24:24 +00:00
env [recipes] Add env recipe module 2017-04-24 17:45:46 +00:00
flavor Manually roll skia recipe deps. 2017-05-02 19:50:11 +00:00
infra Change infra recipe module to use the Go asset 2017-04-13 16:26:22 +00:00
run [recipes] Add env recipe module 2017-04-24 17:45:46 +00:00
swarming Manually roll skia recipe deps. 2017-05-02 19:50:11 +00:00
vars Manually roll skia recipe deps. 2017-05-02 19:50:11 +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.