---
layout: page
title: Development
permalink: /development
---
Summa is armed with both Cargo and Bazel build systems. 
Feel free to use what is fit to you.

## Bazel Build

### Compile & Run
```bash
# Build main Summa binary with the search engine
bazel build summa-server
```

```bash
# Run Summa
bazel build summa-server
# or run with `release profile`
bazel build -c opt summa-server
```

## Integration Testing

```bash
# Launch all tests
bazel test //tests
```

## Publish

```bash
# Publish `aiosumma`
bazel build -c opt //aiosumma:aiosumma-wheel
twine upload bazel-bin/aiosumma/*.whl
```