aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/assets/README.md
blob: 91d0247983490e921ef172ed98ac6563ed949292 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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
```