diff options
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r-- | CONTRIBUTING.rst | 52 |
1 files changed, 41 insertions, 11 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index ff4dae7..1e41ce8 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,17 +1,47 @@ -If you would like to contribute to the development of OpenStack, -you must follow the steps in this page: +Contribution Overview +===================== - http://docs.openstack.org/infra/manual/developers.html +OpenDev's tools are hosted within the OpenDev collaboratory, and +development for them uses workflows described in the OpenDev +Infrastructure Manual: -If you already have a good understanding of how the system works and your -OpenStack accounts are set up, you can skip to the development workflow section -of this documentation to learn how changes to OpenStack should be submitted for -review via the Gerrit tool: +http://docs.opendev.org/opendev/manual/developers.html - http://docs.openstack.org/infra/manual/developers.html#development-workflow +Defect reporting and task tracking takes place here: -Pull requests submitted through GitHub will be ignored. +https://storyboard.openstack.org/#!/project/opendev/gear -Bugs should be filed on StoryBoard, not GitHub: +Developing gear +=============== - https://storyboard.openstack.org/#!/project/714 +Either install `bindep` and run ``bindep test`` to check you have the needed +tools, or review ``bindep.txt`` by hand. If you have the `tox` utility +installed you can also use it for this purpose, running ``tox -e bindep test`` +to get a list of missing distribution package dependencies in your development +environment. + +Running Tests +------------- + +The testing system is based on a combination of tox and testr. The canonical +approach to running tests is to simply run the command `tox`. This will +create virtual environments, populate them with dependencies and run all of +the tests that OpenStack CI systems run. Behind the scenes, tox is running +`testr run --parallel`, but is set up such that you can supply any additional +testr arguments that are needed to tox. For example, you can run: +`tox -- --analyze-isolation` to cause tox to tell testr to add +--analyze-isolation to its argument list. + +It is also possible to run the tests inside of a virtual environment +you have created, or it is possible that you have all of the dependencies +installed locally already. If you'd like to go this route, the requirements +are listed in requirements.txt and the requirements for testing are in +test-requirements.txt. Installing them via pip, for instance, is simply:: + + pip install -r requirements.txt -r test-requirements.txt + +In you go this route, you can interact with the testr command directly. +Running `testr run` will run the entire test suite. `testr run --parallel` +will run it in parallel (this is the default incantation tox uses.) More +information about testr can be found at: +https://testrepository.readthedocs.io/en/latest/ |