skia2/infra/bots/assets
Mike Klein 4fdc54385a Update to Android NDK r13.
The libc++ include paths have changed very slightly.  I've left GN compatible with both older r12 NDKs and the new r13 to smooth the transition.

The libc++ in r13 depends on long-double math.h functions (cosl, atanl, etc.) only available in Android API v21 (Lollipop) and up.  That's what the 64-bit bots were already on, so we just pull the 32-bit bots up to the same target.  Conveniently, the oldest bots we have (N7 and N10) are on Lollipop.

The r13 MIPS64 sysroots are a little weird... /usr/include and /usr/lib64 but no /usr/lib.  That'd be fine---we only want 64-bit builds---but Clang searches for /usr/lib64 via its path to /usr/lib, and without at least an empty /usr/lib, it can't find /usr/lib64.  So you'll see a special mips64el section in the GN config where we do this all manually (other platforms pick this all up correctly from --sysroot).  I've chosen to do this rather than fix it up in the asset create.py scripts so that we stay compatible with vanilla NDKs, which is convenient for developers.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Mac-Clang-arm64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm-Release-GN_Android-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android_FrameworkDefs-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android_Vulkan-Trybot,Build-Ubuntu-Clang-arm64-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mipsel-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-mipsel-Release-GN_Android-Trybot,Build-Ubuntu-Clang-x64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-x64-Release-GN_Android-Trybot,Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-x86-Release-GN_Android-Trybot

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3180

Change-Id: I6f3b5d9411ded0ee49c1099490f41fa86a8736f8
Reviewed-on: https://skia-review.googlesource.com/3180
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-11 17:07:49 +00:00
..
android_ndk_darwin Update to Android NDK r13. 2016-10-11 17:07:49 +00:00
android_ndk_linux Update to Android NDK r13. 2016-10-11 17:07:49 +00:00
android_sdk Add Android SDK asset 2016-06-30 05:20:03 -07:00
clang_linux clang_linux: also build an MSAN libc++ 2016-09-07 12:26:53 -07:00
go Package Go 1.6.2 in CIPD 2016-08-10 08:44:44 -07:00
scripts Add asset management scripts 2016-06-15 12:07:42 -07:00
skimage Fix filling of incomplete images in SkSampledCodec 2016-09-16 14:52:07 -07:00
skp Update SKP version 2016-09-25 02:15:17 -07:00
svg Fix Seal_of_Mississippi URL and update version of SVG asset. 2016-09-16 08:26:35 -07:00
win_toolchain Fix Win toolchain asset, fix script 2016-09-20 07:01:23 -07:00
win_vulkan_sdk Add Vulkan runtime dll 2016-07-27 12:59:12 -07:00
__init__.py Add asset management scripts 2016-06-15 12:07:42 -07:00
asset_utils_test.py Add CIPD support for bot assets 2016-06-28 04:41:49 -07:00
asset_utils.py Fix Win toolchain asset, fix script 2016-09-20 07:01:23 -07:00
assets.py Fix issues in assets scripts 2016-09-09 05:37:29 -07:00
README.md Add asset management scripts 2016-06-15 12:07:42 -07:00

Assets

This directory contains tooling for managing assets used by the bots. The primary entry point is assets.py, which allows a user to add, remove, upload, and download assets.

Assets are stored in Google Storage, named for their version number.

Individual Assets

Each asset has its own subdirectory with the following contents:

  • VERSION: The current version number of the asset.
  • download.py: Convenience script for downloading the current version of the asset.
  • upload.py: Convenience script for uploading a new version of the asset.
  • [optional] create.py: Script which creates the asset, implemented by the user.
  • [optional] create_and_upload.py: Convenience script which combines create.py with upload.py.

Examples

Add a new asset and upload an initial version.

$ infra/bots/assets/assets.py add myasset
Creating asset in infra/bots/assets/myasset
Creating infra/bots/assets/myasset/download.py
Creating infra/bots/assets/myasset/upload.py
Creating infra/bots/assets/myasset/common.py
Add script to automate creation of this asset? (y/n) n
$ infra/bots/assets/myasset/upload.py -t ${MY_ASSET_LOCATION}
$ git commit

Add an asset whose creation can be automated.

$ infra/bots/assets/assets.py add myasset
Add script to automate creation of this asset? (y/n) y
$ vi infra/bots/assets/myasset/create.py
(implement the create_asset function)
$ infra/bots/assets/myasset/create_and_upload.py
$ git commit