skia2/infra/bots/recipe_modules
Kevin Lubick 902d2bcad6 [infra] Cleanup permissions in our docker build tasks
Swarming appears to have changed recently to fail loudly
if it cannot delete any files. This can happen for
our docker outputs (e.g. the /OUT/obj folder).

I am hopeful that in a Bazel world, we won't have
issues like this because of Bazel's ability to keep
things more hermetic.

Change-Id: I21d9138bc25b42794006322e1b8987787222d5da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436816
Reviewed-by: Eric Boren <borenet@google.com>
2021-08-05 12:33:10 +00:00
..
build [infra] Cleanup permissions in our docker build tasks 2021-08-05 12:33:10 +00:00
builder_name_schema [infra] Remove CIFuzz task 2021-07-27 13:10:12 +00:00
checkout [infra] Update recipe dependencies 2021-06-22 17:07:35 +00:00
docker Fix Python3 compatibility 2021-03-25 14:15:35 +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 [infra] Remove Pixel (sailfish) jobs 2021-06-28 16:52:04 +00:00
git Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
gold_upload [infra] Make gold_upload module for direct-from-test uploads. 2021-03-29 16:40:45 +00:00
gsutil [infra] Remove Upload tasks for Test.* jobs using the default recipe. 2021-03-25 16:52:51 +00:00
infra Remove some non-inclusive language in recipes 2020-07-31 19:29:54 +00:00
run [recipes] Minor import cleanup 2020-03-06 19:06:10 +00:00
vars Remove some non-inclusive language in recipes 2020-07-31 19:29:54 +00:00
README.md Increase ClangTidy code coverage by enabling features. 2020-08-03 15:37:30 +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/infra_tests.py --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.