skia2/infra/bots/recipe_modules
Eric Boren d89a8b1e41 [recipes] Move nanobench flags to a separate file
This particular location was chosen because we can rely on it being
present in the recipe bundle. We'll soon run the script to generate
DM flags in gen_tasks, before finally porting the logic to Go inside
gen_tasks itself.

Change-Id: I7e65ec4f354225deafbc03e1b0453ccf4404b041
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274554
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-03 11:15:20 +00:00
..
build Add Dawn on Windows job. 2020-02-28 17:48:37 +00:00
builder_name_schema [infra] Remove Calmbench and ParentRevision bots 2019-11-06 15:03:43 +00:00
checkout Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00
docker [infra] Use POSIX paths for Docker containers 2020-01-03 15:32:47 +00:00
doxygen Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
env Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
flavor [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
git Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
gsutil Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
infra [infra] Add go_win asset, add InfraTests_Win bot 2019-06-25 12:28:50 +00:00
run Roll recipe dependencies (nontrivial). 2019-10-31 13:45:53 +00:00
vars [recipes] Move nanobench flags to a separate file 2020-03-03 11:15:20 +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.