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.
- [optional] create.py: Script which creates the asset, implemented by the user and called by
sk asset upload
.
- [optional] create_and_upload.py: User-implemented convenience script which wraps
sk asset upload
in whatever way makes sense for the asset.
Examples
As with all uses of sk asset
, the following will only work if you have a google.com account and have authenticated with gcloud auth application-default login
.
Add a new asset and upload an initial version.
$ sk asset add myasset
Do you want to add a creation script for this asset? (y/n): n
$ sk asset upload --in ${MY_ASSET_LOCATION} myasset
$ git commit
Add an asset whose creation can be automated.
$ sk asset add myasset
Do you want to add a creation script for this asset? (y/n): y
Created infra/bots/assets/myasset/create.py; you will need to add implementation before uploading the asset.
$ vi infra/bots/assets/myasset/create.py
(implement the create_asset function)
$ sk asset upload myasset
$ git commit
Update an asset.
(update the create.py script)
$ sk asset upload myasset
(assuming infra/bots/assets/myasset/VERSION has been updated by the previous
command, regenerate tasks.json per infra/bots/README:)
$ make -C infra/bots train
$ git commit