bueno Development

This section is meant for bueno developers. Here we document how to accomplish activities common to bueno development, testing, and documentation.

Automated Testing

Before pushing code, run bueno’s automated test suite locally and make certain all tests pass.

$ ./qa/run-qa-suite.sh

Releasing

Install bumpversion

$ python3 -m pip install --user bumpversion

Understand bueno’s versioning convention:

major.minor.patch[-{rc}]

Use bumpversion to roll a new release.

# Test creating a release candidate.
$ bumpversion --dry-run --verbose rc
# If everything looks good, actually create the release candidate.
$ bumpversion --verbose rc
# Push new tag
$ git push --tags

Building the Documentation

Install Sphinx and the RTD theme.

$ python3 -m pip install --user sphinx
$ python3 -m pip install --user sphinx_rtd_theme

Build the documentation.

$ cd docs
$ ./build-docs.sh

If the project’s code structure has changed in a meaningful way (e.g., the addition of a package or module), it may be necessary to re-run the following before executing make html.

$ cd docs
$ sphinx-apidoc -f -o source/ ../bueno

Building RPMs

Prerequisites: rpm-build

$ python3 setup.py bdist_rpm

bueno Source Documentation