summaryrefslogtreecommitdiff
path: root/docs/contributing.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/contributing.rst')
-rw-r--r--docs/contributing.rst52
1 files changed, 30 insertions, 22 deletions
diff --git a/docs/contributing.rst b/docs/contributing.rst
index 3b3b5f2..609e160 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -3,21 +3,26 @@ Contributing to APScheduler
.. highlight:: bash
-If you wish to contribute a fix or feature to APScheduler, please follow the following guidelines.
+If you wish to contribute a fix or feature to APScheduler, please follow the following
+guidelines.
-When you make a pull request against the main APScheduler codebase, Github runs the test suite
-against your modified code. Before making a pull request, you should ensure that the modified code
-passes tests and code quality checks locally.
+When you make a pull request against the main APScheduler codebase, Github runs the test
+suite against your modified code. Before making a pull request, you should ensure that
+the modified code passes tests and code quality checks locally.
Running the test suite
----------------------
The test suite has dependencies on several external services, such as database servers.
-To make this easy for the developer, a docker-compose_ configuration is provided.
-You need both Docker_ (or a suitable replacement) and docker-compose_ installed to start them.
-Once you do, you can start the services with this command::
+To make this easy for the developer, a `docker compose`_ configuration is provided.
+To use it, you need Docker_ (or a suitable replacement). On Linux, unless you're using
+Docker Desktop, you may need to also install the compose (v2) plugin (named
+``docker-compose-plugin``, or similar) separately.
- docker-compose up -d
+Once you have the necessary tools installed, you can start the services with this
+command::
+
+ docker compose up -d
You can run the test suite two ways: either with tox_, or by running pytest_ directly.
@@ -27,13 +32,14 @@ To run tox_ against all supported (of those present on your system) Python versi
Tox will handle the installation of dependencies in separate virtual environments.
-To pass arguments to the underlying pytest_ command, you can add them after ``--``, like this::
+To pass arguments to the underlying pytest_ command, you can add them after ``--``, like
+this::
tox -- -k somekeyword
-To use pytest directly, you can set up a virtual environment and install the project in development
-mode along with its test dependencies (virtualenv activation demonstrated for Linux and macOS;
-on Windows you need ``venv\Scripts\activate`` instead)::
+To use pytest directly, you can set up a virtual environment and install the project in
+development mode along with its test dependencies (virtualenv activation demonstrated
+for Linux and macOS; on Windows you need ``venv\Scripts\activate`` instead)::
python -m venv venv
source venv/bin/activate
@@ -47,15 +53,16 @@ Building the documentation
--------------------------
To build the documentation, run ``tox -e docs``. This will place the documentation in
-``build/sphinx/html`` where you can open ``index.html`` to view the formatted documentation.
+``build/sphinx/html`` where you can open ``index.html`` to view the formatted
+documentation.
-APScheduler uses ReadTheDocs_ to automatically build the documentation so the above procedure is
-only necessary if you are modifying the documentation and wish to check the results before
-committing.
+APScheduler uses ReadTheDocs_ to automatically build the documentation so the above
+procedure is only necessary if you are modifying the documentation and wish to check the
+results before committing.
-APScheduler uses pre-commit_ to perform several code style/quality checks. It is recommended to
-activate pre-commit_ on your local clone of the repository (using ``pre-commit install``) to ensure
-that your changes will pass the same checks on GitHub.
+APScheduler uses pre-commit_ to perform several code style/quality checks. It is
+recommended to activate pre-commit_ on your local clone of the repository (using
+``pre-commit install``) to ensure that your changes will pass the same checks on GitHub.
Making a pull request on Github
-------------------------------
@@ -69,7 +76,8 @@ To get your changes merged to the main codebase, you need a Github account.
#. Create a branch for your pull request, like ``git checkout -b myfixname``
#. Make the desired changes to the code base.
#. Commit your changes locally. If your changes close an existing issue, add the text
- ``Fixes #XXX.`` or ``Closes #XXX.`` to the commit message (where XXX is the issue number).
+ ``Fixes #XXX.`` or ``Closes #XXX.`` to the commit message (where XXX is the issue
+ number).
#. Push the changeset(s) to your forked repository (``git push``)
#. Navigate to Pull requests page on the original repository (not your fork) and click
"New pull request"
@@ -79,8 +87,8 @@ To get your changes merged to the main codebase, you need a Github account.
If you have trouble, consult the `pull request making guide`_ on opensource.com.
-.. _Docker: https://docs.docker.com/engine/install/
-.. _docker-compose: https://docs.docker.com/compose/install/#install-compose
+.. _Docker: https://docs.docker.com/desktop/#download-and-install
+.. _docker compose: https://docs.docker.com/compose/
.. _tox: https://tox.readthedocs.io/en/latest/install.html
.. _pre-commit: https://pre-commit.com/#installation
.. _pytest: https://pypi.org/project/pytest/