skia2/infra/bots/recipe_modules
Brian Salomon f4ba4ec796 Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots""""
Updated to use sentinel GL context even when GL backend is not built.

This reverts commit 1171d314ef.

Change-Id: Ia94bbe4865ddd4e898446c13886877c539f0eb0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277976
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-20 17:11:58 +00:00
..
build Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots"""" 2020-03-20 17:11:58 +00:00
builder_name_schema [infra] Remove Calmbench and ParentRevision bots 2019-11-06 15:03:43 +00:00
checkout [recipes] Minor import cleanup 2020-03-06 19:06:10 +00:00
docker [infra] Use POSIX paths for Docker containers 2020-01-03 15:32:47 +00:00
doxygen [recipes] Minor import cleanup 2020-03-06 19:06:10 +00:00
env Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
flavor [recipes] Minor import cleanup 2020-03-06 19:06:10 +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 [recipes] Minor import cleanup 2020-03-06 19:06:10 +00:00
run [recipes] Minor import cleanup 2020-03-06 19:06:10 +00:00
vars [recipes] Move nanobench flags logic into gen_tasks_logic/nanobench_flags.go 2020-03-03 11:20:25 +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.