Development Guidelines for stestr¶
Coding style¶
PEP-8 is used for changes. We enforce running flake8 prior to landing any commits.
Testing and QA¶
For stestr please add tests where possible. There is no requirement for one test per change (because somethings are much harder to automatically test than the benefit from such tests). But, if unit testing is reasonable it will be expected to be present before it can merge.
Running the tests¶
Generally just tox
is all that is needed to run all the tests. However
if dropping into pdb, it is currently more convenient to use
python -m testtools.run testrepository.tests.test_suite
.
Releasing¶
Add release notes using reno prior to pushing the release to pypi. Versioning is handled automatically by pbr, just make sure the tag is a valid version number. The repo uses semver to dictate version number increments.
Release Notes¶
When making changes to any user facing interface we need to be sure to add a release note documenting the change for the next release. This includes any changes to a stable python interfaces that we support externally (including adding an API), the CLI, deprecation of a feature, etc.