# qiBuild documentation

# Contributing to qiBuild

## github

qiBuild development process take place on github: https://github.com/aldebaran/qibuild

There are two active branches:

- `next`, where the development occurs
- `master`, which is used for releases and bug fixes only

Usually you should create your patches or pull requests on top of `next`, unless you are fixing a blocking bug in a qibuild release.

Note that we use `gerrit` and `jenkins` to test the patches internally at Aldebaran, so even if your pull request is closed, it can take some time before your code lands up on Aldebaran’s repository.

## Reporting bugs

Please open an issue on github for every qibuild bug you may find, but make sure to read this first:

- Reporting qiBuild issues

## TODO list

If you want to contribute, but don’t know what to do, you can have a look at the TODO:

- qibuild TODO

Feel free to just add your own ideas to the list :)

### Specifications

This is for items on the TODO that are too large and require discussion before we start actually implementing them

- Specs

## Submitting changes

Please fork the project on github and make a merge request if you want to contribute.

Please also read this first:

- CMake coding guide
- Python coding guide

qibuild uses the ‘Test Driven Development’ technique.

It is advised you write tests before adding new code.

You can read more about it here:

- qibuild: using test driven development

In any case, you must make sure to check your code is correct before sending a merge request:

- Running qiBuild test suite
- Writing new tests

Please also make sure to submit documentation updates concerning your changes.

- Writing qiBuild documentation

Changelog CMake index Python index Index