# Runners

*What are Testground runners?*

A **runner** is a component that takes ***build artifact*** produced by a [Builder](https://protocol-labs.gitbook.io/testground/table-of-contents/concepts-and-architecture/builders), and schedules a test run of a test case within the test plan, on the Testground deployment, with the specified number of instances and test parameters.

```
                                                          ☟
-------------    -----------    ------------------    ----------    ---------------
| plan code | -> | builder | -> | build artifact | -> | runner | -> | test output |
-------------    -----------    ------------------    ----------    ---------------
```

### Supported runners

| builder        | input work unit        | Environment                                                                                                                                    |
| -------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `local:exec`   | OS-specific executable | local                                                                                                                                          |
| `local:docker` | Docker image           | local Docker environment                                                                                                                       |
| `cluster:k8s`  | Docker image           | [Kubernetes cluster](https://protocol-labs.gitbook.io/testground/runner-library/cluster-k8s/how-to-create-a-kubernetes-cluster-for-testground) |
