You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2022/11/11 06:32:16 UTC

[buildstream] branch tristan/update-docs-for-new-python-versions created (now a8d83e319)

This is an automated email from the ASF dual-hosted git repository.

tvb pushed a change to branch tristan/update-docs-for-new-python-versions
in repository https://gitbox.apache.org/repos/asf/buildstream.git


      at a8d83e319 doc/source/hacking/updating_python_deps.rst: Consider Cython

This branch includes the following new commits:

     new a8d83e319 doc/source/hacking/updating_python_deps.rst: Consider Cython

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[buildstream] 01/01: doc/source/hacking/updating_python_deps.rst: Consider Cython

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/update-docs-for-new-python-versions
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit a8d83e31902dae61f8d89a06c4d24c74de0c0283
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Nov 11 15:30:38 2022 +0900

    doc/source/hacking/updating_python_deps.rst: Consider Cython
    
    Update the new doc to also explain that we need to bump the
    minimal version of Cython which supports the new version of Python.
    
    Also use consistent spacing in the rst file: 2 empty lines before
    headers, no empty line after headers.
---
 doc/source/hacking/updating_python_deps.rst | 33 +++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/doc/source/hacking/updating_python_deps.rst b/doc/source/hacking/updating_python_deps.rst
index 8dce20bed..032299c34 100644
--- a/doc/source/hacking/updating_python_deps.rst
+++ b/doc/source/hacking/updating_python_deps.rst
@@ -21,15 +21,15 @@ file::
 
    make -C requirements
 
+
 Adding support for a new Python release
 ---------------------------------------
-
 When a new stable release of Python 3 appears, we must explicitly declare
 our support for it in the following places.
 
+
 tox.ini
 ~~~~~~~
-
 The ``tox.ini`` file defines the environments where the BuildStream test suite
 runs.  Every ``py{3.x,3.y}`` list must be updated to contain the new version
 number such as ``311`` for CPython 3.11.
@@ -37,9 +37,23 @@ number such as ``311`` for CPython 3.11.
 Use ``tox -e py311-nocover`` to run the test suite with the new version of
 Python.
 
+
 pyproject.toml
 ~~~~~~~~~~~~~~
 
+
+Bump cython version
+'''''''''''''''''''
+New releases of Cython must be depended on with new versions of Python
+in lock step.
+
+When supporting a new Python version, it is important to bump the minimal
+dependency on Cython to a new enough version which also supports the new
+version of Python.
+
+
+Wheel details
+'''''''''''''
 We produce binary "wheel" packages for each supported version of Python.
 The cibuildwheel build tool will build for all released versions of Python
 so no change is needed in the config.
@@ -48,54 +62,55 @@ However, if you want to test wheel building with a prerelease version of Python
 you will need to set ``CIBW_PRERELEASE_PYTHONS=1`` in the cibuildwheel
 environment.
 
+
 .github/compose/ci.docker-compose.yml
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
 Each binary package is tested in a container, using the
 `pypa/manylinux <https://github.com/pypa/manylinux>`_ images.
 
 You need to add a new docker-compose service here -- copy the
 latest one and update the version number where it appears.
 
+
 .github/workflows/ci.yml and .github/workflows/release.yml
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
 There is a separate CI job to run each of the above tests. Update the
 matrix config for the ``test_wheels`` jobs in ``ci.yml`` and ``release.yml``
 to add the new Python version.
 
+
 Removing support for a Python release
 -------------------------------------
 
+
 tox.ini
 ~~~~~~~
-
 You will need to update the ``py{3.x,3.y}`` lists to remove the old version. In
 the ``envlist`` section, make sure the oldest version still has coverage
 enabled while the other versions are marked ``-nocover``.
 
+
 pyproject.toml
 ~~~~~~~~~~~~~~
-
 The cibuildwheel tool will produce wheels for all versions of Python supported
 upstream.. If we drop support for a version before upstream do, update the
 ``tool.cibuildwheel.skip`` list to skip all platform tags for that version.
 The glob ``cp36-*`` would skip all CPython 3.6 builds, for example.
 
+
 .github/compose/ci.docker-compose.yml
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
 Remove the corresponding service.
 
+
 .github/workflows/ci.yml and .github/workflows/release.yml
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
 Update the matrix config for the `test_wheels` jobs in `ci.yml` and
 `release.yml` to remove the old Python version.
 
+
 ABI compatibility for binary Python packages
 --------------------------------------------
-
 The Python binary packages declare system requirements using
 `platform compatibility tags <https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/>`_.