summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r--CONTRIBUTING.rst52
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/