# alice-ci.yaml

This yaml file defines the job steps executed by Alice. The jobs are called by names for each passed parameter on CLI. For example the following command searches for a job called lint defined in the `alice-ci.yaml` file in the current working directory, then runs it.

```
pythom3 -m alice lint
```

[Example configs](examples.md)

## runners

Contains global configuration for various runners. Currently the only supported runner is `python`.

### Python

#### Dependencies

List of dependencies installed in the virtual environment. Each dependency has a `name` and an `import_name`, as Alice checks the availability of each package by trying to import `import_name`, and if it fails, calls pip to install `name`.

## jobs

List of jobs. Each job has a mandatory name, type and a list of commands, optional parameter is workdir.

### name

Mandatory value, string. Has to be unique in the current file.

### type

Job type, selects the runner executing the commands. Currently the only supported type is `python`.

### comands

List of strings, each executed one by one from top to bottom in the current context. 

### workdir

Optional, defines Working directory relative to PWD. The default working directory is the current directory.