1---
2title: 'SK CLI Tool'
3linkTitle: 'SK CLI Tool'
4---
5
6## Introduction
7
8`sk` is a command-line tool which provides common functionality useful for
9working on Skia.
10
11## Commands
12
13The set of supported commands will probably grow or change over time.
14
15### asset
16
17Used for managing versioned non-code assets used by Skia developers and in CI.
18These are stored in [CIPD](https://chrome-infra-packages.appspot.com/p/skia/bots)
19and their versions are pinned under
20[//infra/bots/assets](https://skia.googlesource.com/skia/+/master/infra/bots/assets)
21in Skia.
22
23* add - Add an entry for a new asset. This does not create an initial version.
24* remove - Remove the entry for an existing asset. This does not remove uploaded
25  versions.
26* download - Download the pinned version of the asset into the given directory.
27* upload - Upload a new version of the asset and update the pinned version. If
28  a script exists to automate creation of the asset, `sk` that runs script and
29  uploads the resulting files. Otherwise, it expects a target directory to be
30  provided.
31* get-version - Print the pinned version of the asset.
32* set-version - Set the pinned version of the asset. `sk` verifies that the
33  given version actually exists in CIPD.
34* list-versions - Print all versions of the asset which exist in CIPD.
35
36### release-branch
37
38This automates the processes involved in creating a new release branch of Skia,
39including creating the Git branch itself, setting up the commit queue on the
40new branch (as well as retiring the commit queue for the oldest release branch),
41and updating the current Skia milestone.  This requires administrator rights.
42
43### try
44
45Trigger try jobs on the current active CL.  Accepts zero or more job names or
46regular expressions.  If none is provided, `try` lists all of the available try
47jobs and exits.
48
49## Development
50
51The code for `sk` is located in the
52[Skia Infra repo](https://skia.googlesource.com/buildbot). Development in that
53repo follows similar practices to Skia.  See
54[README.md](https://skia.googlesource.com/buildbot/+/master/README.md) for
55instructions to get started.
56
57Code for the `sk` tool itself is located under
58[//sk/go/](https://skia.googlesource.com/buildbot/+/master/sk/go/). Each
59sub-command has an associated package.
60
61## Deployment
62
63New versions of `sk` are automatically built and uploaded to
64[CIPD](https://chrome-infra-packages.appspot.com/p/skia/tools/sk) as part of
65Skia Infra's CI/CD pipeline.  The version used by Skia is pinned in
66[DEPS](https://skia.googlesource.com/skia/+/master/DEPS) and updated by an
67[autoroller](https://autoroll.skia.org/r/sk-tool-skia).
68