skia2/infra/bots/assets
borenet 0f1469bcda Add asset management scripts
These provide an easy way to create assets to be used by bots,
eg. Android SDK.

To create an asset:
$ infra/bots/assets/assets.py add android_sdk
(adds scripts in infra/bots/assets/android_sdk)

To upload a new version of an asset:
$ infra/bots/assets/android_sdk/upload.py -t $ANDROID_SDK_ROOT
(uploads Android SDK to GS, writes a version file)
$ git commit
$ git cl upload

To download the current version of the asset:
$ infra/bots/assets/android_sdk/download.py -t ../tmp

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069543002

Review-Url: https://codereview.chromium.org/2069543002
2016-06-15 12:07:42 -07:00
..
scripts Add asset management scripts 2016-06-15 12:07:42 -07:00
__init__.py Add asset management scripts 2016-06-15 12:07:42 -07:00
asset_utils_test.py Add asset management scripts 2016-06-15 12:07:42 -07:00
asset_utils.py Add asset management scripts 2016-06-15 12:07:42 -07:00
assets.py Add asset management scripts 2016-06-15 12:07:42 -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