skia2/infra/bots/recipe_modules
Kevin Lubick c13cd6479d Reland "Build CanvasKit using GN/Ninja"
This is a reland of ecac712bec

Changes (best viewed comparing PS1 to latest)
 - Use emsdk 3.1.3 which includes important bug fixes
 - Remove unnecessary steps in compile.sh
 - Fix use of various gn args.
 - Avoid conflicts with Flutter's GN symbols
 - Add/update docs
 - Make activate-emsdk script compatible with our infra.

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I601712a8953c2799fa029e782e097905b95e6b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507717
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 16:31:10 +00:00
..
build Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
builder_name_schema [codesize] Add CodeSize-dm-Debian10-Clang-x86_64-Release task. 2022-02-11 22:05:19 +00:00
checkout [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
docker [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
doxygen [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
env [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
flavor [infra] Remove old error message 2022-02-09 19:40:46 +00:00
git [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
gold_upload [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
gsutil [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
infra [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
run [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
vars [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +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.