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