skia2/infra/bots/recipe_modules
Eric Boren 72f6668eb7 [recipes] Move a lot of logic out of vars module
In general, vars should only contain variables which are the same for
all tasks.  Variables specific to compilation belong in the build
module (or compile recipe), and those specific to running tests belong
in the flavor module, or the individual recipe which uses them.

Bug: skia:6473
Change-Id: Ifd55a57118c5801e6f4934a6b5de9d1567415b9a
Reviewed-on: https://skia-review.googlesource.com/128545
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-05-18 11:58:14 +00:00
..
build [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +00:00
builder_name_schema [infra] Support recursive configs in builder_name_schema 2018-04-17 18:56:24 +00:00
core [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +00:00
ct Update CT bots to Debian-9.2 2017-11-29 18:45:05 +00:00
env Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
flavor [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +00:00
git Use chrome-infra Git CIPD package 2017-06-06 12:45:11 +00:00
gsutil Upload multiple dm images at once 2018-01-17 12:29:26 +00:00
infra [recipes] BUILDTYPE and SKIA_OUT are no longer used 2018-05-15 19:36:23 +00:00
isolate Revert "Update isolate binaries and update isolate recipe" 2017-12-22 18:53:56 +00:00
run [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +00:00
skia_swarming Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
swarming Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
swarming_client Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
vars [recipes] Move a lot of logic out of vars module 2018-05-18 11:58:14 +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.