Skip to content

Commit 3c2fb61

Browse files
committed
Update contributing guide.
1 parent 86d935a commit 3c2fb61

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

docs/source/contributors_guide/contributing.rst

+42
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,46 @@ Preparing the development setup
2525
.. code-block:: console
2626
2727
$ pip install -e .[test]
28+
$ pip install -r docs/requirements.txt # needed for building the docs
2829
$ pre-commit install
30+
31+
Building documentation
32+
----------------------
33+
34+
Documentation is built using Sphinx. To build the documentation, run the
35+
36+
.. code-block:: console
37+
38+
$ cd docs
39+
$ make html
40+
41+
You should inspect the changes in the documentation by opening the
42+
``docs/build/html/index.html`` file in your browser.
43+
44+
You'll see a different output since the documentation is build with
45+
`sphinx-multiversion <https://github.com/sphinx-contrib/multiversion>`_ extension.
46+
47+
Testing
48+
-------
49+
50+
If you implemented a feature or fixed a bug, please add tests for it.
51+
52+
Unfortunately, at the moment you cannot run full test suite because it requires
53+
access to API keys for all implemented API hubs (ATD, Sulu, and RapidAPI) and
54+
a private Judge0 instance. To partially address this situation, you can run and
55+
test your implemented feature and tests locally and use the GitHub CI pipeline
56+
to run the full test suite.
57+
58+
To run the tests locally, you can use the following command:
59+
60+
.. code-block:: console
61+
62+
$ pytest -svv tests -k '<test_name>'
63+
64+
To make the test compatible with the CI pipeline, you should use one of the
65+
client fixtures:
66+
67+
.. code-block:: python
68+
69+
def test_my_test(request):
70+
client = request.getfixturevalue("judge0_ce_client") # or judge0_extra_ce_client

0 commit comments

Comments
 (0)