diff mbox series

[6/7] CI: Stop building docs on centos8

Message ID 20230209154034.983044-7-jsnow@redhat.com (mailing list archive)
State New, archived
Headers show
Series Python: Drop support for Python 3.6 | expand

Commit Message

John Snow Feb. 9, 2023, 3:40 p.m. UTC
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.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Huth Feb. 9, 2023, 3:57 p.m. UTC | #1
On 09/02/2023 16.40, John Snow 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.
> 
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 0aa149a3524..0eb7f6606d4 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -166,7 +166,7 @@ build-system-centos:
>     variables:
>       IMAGE: centos8
>       CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system
> -      --enable-modules --enable-trace-backends=dtrace --enable-docs
> +      --enable-modules --enable-trace-backends=dtrace
>         --enable-vfio-user-server
>       TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
>         x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu

Reviewed-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé Feb. 9, 2023, 4:05 p.m. UTC | #2
On 9/2/23 16:40, John Snow 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.

I guess remember this wide collection is on purpose, since sphinx
had different dependency versions and was failing differently on each
distrib. Peter might remember.

> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 0aa149a3524..0eb7f6606d4 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -166,7 +166,7 @@ build-system-centos:
>     variables:
>       IMAGE: centos8

If so (wide distrib collection), a "Please add --enable-docs when
upgrading to centos9" comment here.

>       CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system
> -      --enable-modules --enable-trace-backends=dtrace --enable-docs
> +      --enable-modules --enable-trace-backends=dtrace
>         --enable-vfio-user-server
>       TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
>         x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
Paolo Bonzini Feb. 9, 2023, 10:43 p.m. UTC | #3
Il gio 9 feb 2023, 16:40 John Snow <jsnow@redhat.com> ha scritto:

> 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.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
>

It's possible to teach lcitool to use pip instead to install docutils,
sphinx and sphinx-rtd-theme
Once we can drop the previous patch this one can go as well; as soon as the
last lcitool prerequisite is in (
https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/341) I will pick the
rest of this series, if that's okay for you.

Paolo

---
>  .gitlab-ci.d/buildtest.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 0aa149a3524..0eb7f6606d4 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -166,7 +166,7 @@ build-system-centos:
>    variables:
>      IMAGE: centos8
>      CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system
> -      --enable-modules --enable-trace-backends=dtrace --enable-docs
> +      --enable-modules --enable-trace-backends=dtrace
>        --enable-vfio-user-server
>      TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
>        x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
> --
> 2.39.0
>
>
John Snow Feb. 9, 2023, 11:32 p.m. UTC | #4
On Thu, Feb 9, 2023 at 5:43 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
>
> Il gio 9 feb 2023, 16:40 John Snow <jsnow@redhat.com> ha scritto:
>>
>> 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.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>
>
> It's possible to teach lcitool to use pip instead to install docutils, sphinx and sphinx-rtd-theme
> Once we can drop the previous patch this one can go as well; as soon as the last lcitool prerequisite is in (https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/341) I will pick the rest of this series, if that's okay for you.

OK - Dan requested extra version information in the commit message to
7, which I am researching a bit more exhaustively now. I can reply to
that patch with the requested info and if you'd like to pick 1-4 & 7,
you can be my guest.

I will say that once upon a time, Peter Maydell expressed a preference
to use the version(s) of sphinx managed by the distro instead of
swallowing it into the python-managed parts of the codebase. It seemed
like a reasonable request at the time. We can revisit it once I get
the patches in to add a venv at configure time. (Which I was intending
to visit next.)

>
> Paolo
>
Paolo Bonzini Feb. 10, 2023, 10:30 a.m. UTC | #5
On 2/10/23 00:32, John Snow wrote:
>> It's possible to teach lcitool to use pip instead to install
>> docutils, sphinx and sphinx-rtd-theme
> 
> I will say that once upon a time, Peter Maydell expressed a
> preference to use the version(s) of sphinx managed by the distro
> instead of swallowing it into the python-managed parts of the
> codebase. It seemed like a reasonable request at the time.

Note that this is not about using pip in a venv set up by e.g. 
configure; simply, lcitool falls back to pip if a package is not 
available as an RPM/DEB/APK, so it's a matter of telling it that the 
python3.8 runtime in CentOS 8 does not have either docutils or sphinx.

In other words, since lcitool takes care of building the container 
dockerfile, this "pip install" would be done in the container phase and 
configure in general cannot care less whether sphinx comes from an RPM 
or a "pip install".

Paolo

> We can
> revisit it once I get the patches in to add a venv at configure time.
> (Which I was intending to visit next.)
John Snow Feb. 15, 2023, 8:31 p.m. UTC | #6
On Fri, Feb 10, 2023 at 5:30 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 2/10/23 00:32, John Snow wrote:
> >> It's possible to teach lcitool to use pip instead to install
> >> docutils, sphinx and sphinx-rtd-theme
> >
> > I will say that once upon a time, Peter Maydell expressed a
> > preference to use the version(s) of sphinx managed by the distro
> > instead of swallowing it into the python-managed parts of the
> > codebase. It seemed like a reasonable request at the time.
>
> Note that this is not about using pip in a venv set up by e.g.
> configure; simply, lcitool falls back to pip if a package is not
> available as an RPM/DEB/APK, so it's a matter of telling it that the
> python3.8 runtime in CentOS 8 does not have either docutils or sphinx.
>
> In other words, since lcitool takes care of building the container
> dockerfile, this "pip install" would be done in the container phase and
> configure in general cannot care less whether sphinx comes from an RPM
> or a "pip install".
>
> Paolo
>

Understood - I am just recalling changes I proposed to 'configure'
several years back to specifically allow it to find and utilize
versions of sphinx installed via pip, but Peter Maydell wasn't as sure
of the idea, believing that QEMU should stick to only the system
packages. I wasn't talking about specifically *creating* the
environments with pip, this time.

(But, I'd still like to, but realize that's a separate discussion.)
diff mbox series

Patch

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 0aa149a3524..0eb7f6606d4 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -166,7 +166,7 @@  build-system-centos:
   variables:
     IMAGE: centos8
     CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system
-      --enable-modules --enable-trace-backends=dtrace --enable-docs
+      --enable-modules --enable-trace-backends=dtrace
       --enable-vfio-user-server
     TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
       x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu