mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
docs: Add basic documentation about our CI setup
This commit is contained in:
parent
cbc03f3326
commit
01c953b95d
179
docs/html/development/ci.rst
Normal file
179
docs/html/development/ci.rst
Normal file
|
@ -0,0 +1,179 @@
|
|||
.. note::
|
||||
This section of the documentation is currently being written. pip
|
||||
developers welcome your help to complete this documentation. If you're
|
||||
interested in helping out, please let us know in the `tracking issue`_.
|
||||
|
||||
.. _`tracking issue`: https://github.com/pypa/pip/issues/7279
|
||||
|
||||
**********************
|
||||
Continuous Integration
|
||||
**********************
|
||||
|
||||
Supported interpreters
|
||||
======================
|
||||
|
||||
pip support a variety of Python interpreters:
|
||||
|
||||
- CPython 2.7
|
||||
- CPython 3.5
|
||||
- CPython 3.6
|
||||
- CPython 3.7
|
||||
- CPython 3.8
|
||||
- Latest PyPy
|
||||
- Latest PyPy3
|
||||
|
||||
on different operating systems:
|
||||
|
||||
- Linux
|
||||
- Windows
|
||||
- MacOS
|
||||
|
||||
and on different architectures:
|
||||
|
||||
- x64
|
||||
- x86
|
||||
|
||||
so 42 hypothetical interpreters.
|
||||
|
||||
|
||||
Checks
|
||||
======
|
||||
|
||||
``pip`` CI runs different kind of tests:
|
||||
|
||||
- lint (defined in ``.pre-commit-config.yaml``)
|
||||
- docs
|
||||
- vendoring (is the ``src/_internal/_vendor`` directory cleanly vendored)
|
||||
- unit tests (present in ``tests/unit``)
|
||||
- "integration" tests (mostly present in ``tests/functional``)
|
||||
- package (test the packaging steps)
|
||||
|
||||
Since lint, docs, vendoring and package tests only need to run on a pip
|
||||
developer/contributor machine, they only need to be tested on the x64 variant
|
||||
of the 3 different operating systems, and when an interpreter needs to be
|
||||
specified it's ok to require the latest CPython interpreter.
|
||||
|
||||
So only unit tests and integration tests would need to be run with the different
|
||||
interpreters.
|
||||
|
||||
Services
|
||||
========
|
||||
|
||||
pip test suite and checks are distributed on four different platforms that
|
||||
provides free executors for open source packages:
|
||||
|
||||
- `Travis CI`_ (Used for Linux)
|
||||
- `Appveyor CI`_ (Windows only)
|
||||
- `Azure DevOps CI`_ (Linux, MacOS & Windows tests)
|
||||
- `GitHub Actions`_ (Linux, MacOS & Windows tests)
|
||||
|
||||
.. _`Travis CI`: https://travis-ci.org/
|
||||
.. _`Appveyor CI`: https://www.appveyor.com/
|
||||
.. _`Azure DevOps CI`: https://dev.azure.com/
|
||||
.. _`GitHub Actions`: https://github.com/features/actions
|
||||
|
||||
|
||||
Current run tests
|
||||
=================
|
||||
|
||||
Developer tasks
|
||||
---------------
|
||||
|
||||
======== =============== ================ =========== ============
|
||||
OS docs lint vendoring packages
|
||||
======== =============== ================ =========== ============
|
||||
Linux Travis, Github Travis, Github Travis Azure
|
||||
Windows Azure
|
||||
MacOS Azure
|
||||
======== =============== ================ =========== ============
|
||||
|
||||
Actual testing
|
||||
--------------
|
||||
|
||||
+------------------------------+---------------+-----------------+
|
||||
| **interpreter** | **unit** | **integration** |
|
||||
+-----------+----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | Azure | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | Azure | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x86 | CP3.7 | Azure | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | | |
|
||||
| Windows +----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | Appveyor | Appveyor |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | Appveyor | Appveyor |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x64 | CP3.7 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | | |
|
||||
+-----------+----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x86 | CP3.7 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | | |
|
||||
| Linux +----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | Travis,Azure | Travis,Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | Travis,Azure | Travis,Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | Travis,Azure | Travis,Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x64 | CP3.7 | Travis,Azure | Travis,Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | Travis | Travis |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | Travis | Travis |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | Travis | Travis |
|
||||
+-----------+----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x86 | CP3.7 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | | |
|
||||
| MacOS +----------+-------+---------------+-----------------+
|
||||
| | | CP2.7 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.5 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.6 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | x64 | CP3.7 | Azure | Azure |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | CP3.8 | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy | | |
|
||||
| | +-------+---------------+-----------------+
|
||||
| | | PyPy3 | | |
|
||||
+-----------+----------+-------+---------------+-----------------+
|
|
@ -14,6 +14,7 @@ or the `pypa-dev mailing list`_, to ask questions or get involved.
|
|||
|
||||
getting-started
|
||||
contributing
|
||||
ci
|
||||
issue-triage
|
||||
architecture/index
|
||||
release-process
|
||||
|
|
Loading…
Reference in a new issue