On Fri, Feb 10, 2023, 5:41 AM Peter Maydell <peter.mayd...@linaro.org>
wrote:

> On Fri, 10 Feb 2023 at 00:31, John Snow <js...@redhat.com> wrote:
> >
> > CentOS 8 does not ship with a sphinx new enough for our purposes (It
> > necessarily uses Python 3.6), so drop this from this build. We can
> > resume building docs on CentOS 9 if we wish, but we also currently test
> > and build docs on Fedora, Ubuntu, Alpine and Debian.
>
> This confuses me. We work fine with Python 3.6 today.
>

That won't last - Many tools such as mypy, pylint and flake8 which I use to
manage our python codebase have been dropping support for 3.6 and I've had
to implement an increasing number of workarounds to help keep it possible
to test 3.6 via CI while also ensuring our newest platforms work as dev
environments.

Our testing matrix for Python is novel and thorough enough that it's
revealed  several bugs in other downstream Python distributions for Debian
and Fedora, and dozens of bugs for the linters themselves.

I'm concerned that when 3.7 is EOL'd in just a few months that the support
and testing gap is going to get even uglier.

In addition, Avocado framework has been asking me to drop 3.6 so they can
follow suit, for much of the same reasons - maintenance cost.

The typing work we've been pursuing for our testing and qapi libraries
would also be greatly helped by dropping 3.6, but it's really the
maintenance argument that's driving this.

Anyway, just trying to explain that it's not just a frivolous thing I'm
doing for the sake of itself.

Either:
>  * CentOS 8 has fallen off the end of our "supported build platforms"
>    list -- if so, we don't need to be CI'ing anything on it.
>  * CentOS 8 is still a supported platform -- in this case building
>    the docs is something we need to continue to support, and we
>    can't drop Python 3.6 until all of our supported build
>    platforms have a newer Python available.
>

The argument I'm making is:

- CentOS 8 is a supported build platform
- All platforms *do* have a Python modern enough to allow us to drop 3.6
- CentOS's repo version of sphinx is hardcoded to use the older 3.6, though
- You expressed a preference to me in the past to NOT use a pip installed
version of sphinx in preference to the system version in "configure"
- It's still possible to build docs on CentOS 8 after this patchset, you
just need a pip version.
- We've used the justification that our build platform promise does not
necessarily extend to docs and tests in the past.
- So just skip docs building for CentOS 8, only in the CI.

If you believe docs in CI for CentOS 8 is a hard deal breaker, then I want
to go back to discussing the possibility of using sphinx versions from pip.

Paolo mentioned wanting to do similar in reply to another patch on this
series (#5) to preserve docs building on the platform.


> thanks
> -- PMM
>
>

Reply via email to