skia2/infra/bots/recipe_modules
Leon Scroggins III 3bce5d1397 Update bots' NDK to r23
Bug: skia:12273
Bug: skia:10754

The latest version (r23) includes APIs from Android 12. It also allows
referencing enums and structs even if __ANDROID_API__ is not set to the
level that included them. This allows code to reference them and use
dlsym to access the methods. This will ultimately allow Skia (or client
- in this case Flutter) to use a single build to use the NDK APIs if
present and fail gracefully if not.

With r23, the Mac version of the NDK is now in a DMG, so rewrite its
script to properly download, mount, and eject it.

Also update the path to asan_device_setup. (See
Iae6515b7e78c7660b4fb9fe32fd969ba563c4517.)

Change-Id: I4b2eb4f49a1d45a3c18d2399f6b8006668c310ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439336
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2021-08-17 14:44:36 +00:00
..
build Fix Build-Debian9-Clang-arm-Release-Flutter_Android_Docker job. 2021-08-10 17:28:51 +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 Update bots' NDK to r23 2021-08-17 14:44:36 +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.