aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/recipe_modules/README.md
blob: 5093ff0e355690372c9d02f61dd195d6be8ca002 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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.