[RFC] gitlab: default to not building the documentation

Message ID 20210322144140.13505-1-alex.bennee@linaro.org
State New
Headers show
Series
  • [RFC] gitlab: default to not building the documentation
Related show

Commit Message

Alex Bennée March 22, 2021, 2:41 p.m.
In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,
Debian") we made sure we can build the documents on more than one
system. However we don't want to build documents all the time as it's
a waste of cycles (and energy). So lets reduce the total amount of
documentation we build while still keeping some coverage.

Fixes: a8a3abe0b3 ("gitlab: move docs and tools build across from Travis")
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 .gitlab-ci.yml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

-- 
2.20.1

Comments

Thomas Huth March 22, 2021, 4:06 p.m. | #1
On 22/03/2021 15.41, Alex Bennée wrote:
> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

> Debian") we made sure we can build the documents on more than one

> system. However we don't want to build documents all the time as it's

> a waste of cycles (and energy). So lets reduce the total amount of

> documentation we build while still keeping some coverage.

> 

> Fixes: a8a3abe0b3 ("gitlab: move docs and tools build across from Travis")

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> ---

>   .gitlab-ci.yml | 12 ++++++------

>   1 file changed, 6 insertions(+), 6 deletions(-)

> 

> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml

> index 9ffbaa7ffb..7714c7cac8 100644

> --- a/.gitlab-ci.yml

> +++ b/.gitlab-ci.yml

> @@ -23,9 +23,9 @@ include:

>       - cd build

>       - if test -n "$TARGETS";

>         then

> -        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;

> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS --target-list="$TARGETS" ;

>         else

> -        ../configure --enable-werror $CONFIGURE_ARGS ;

> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS ;

>         fi || { cat config.log meson-logs/meson-log.txt && exit 1; }

>       - if test -n "$LD_JOBS";

>         then

> @@ -119,7 +119,7 @@ build-system-ubuntu:

>       job: amd64-ubuntu2004-container

>     variables:

>       IMAGE: ubuntu2004

> -    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system

> +    CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system


I think it might be better to add it to the Fedora job - it will likely have 
a newer version of Sphinx and gets updated more often.

  Thomas
Alex Bennée March 22, 2021, 4:24 p.m. | #2
Thomas Huth <thuth@redhat.com> writes:

> On 22/03/2021 15.41, Alex Bennée wrote:

>> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

>> Debian") we made sure we can build the documents on more than one

>> system. However we don't want to build documents all the time as it's

>> a waste of cycles (and energy). So lets reduce the total amount of

>> documentation we build while still keeping some coverage.

>> Fixes: a8a3abe0b3 ("gitlab: move docs and tools build across from

>> Travis")

>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>> ---

>>   .gitlab-ci.yml | 12 ++++++------

>>   1 file changed, 6 insertions(+), 6 deletions(-)

>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml

>> index 9ffbaa7ffb..7714c7cac8 100644

>> --- a/.gitlab-ci.yml

>> +++ b/.gitlab-ci.yml

>> @@ -23,9 +23,9 @@ include:

>>       - cd build

>>       - if test -n "$TARGETS";

>>         then

>> -        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;

>> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS --target-list="$TARGETS" ;

>>         else

>> -        ../configure --enable-werror $CONFIGURE_ARGS ;

>> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS ;

>>         fi || { cat config.log meson-logs/meson-log.txt && exit 1; }

>>       - if test -n "$LD_JOBS";

>>         then

>> @@ -119,7 +119,7 @@ build-system-ubuntu:

>>       job: amd64-ubuntu2004-container

>>     variables:

>>       IMAGE: ubuntu2004

>> -    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system

>> +    CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system

>

> I think it might be better to add it to the Fedora job - it will

> likely have a newer version of Sphinx and gets updated more often.


It's already in build-system-fedora, just the ubuntu one was squashed
when I moved tools and docs across.


>

>  Thomas



-- 
Alex Bennée
Thomas Huth March 22, 2021, 4:31 p.m. | #3
On 22/03/2021 17.24, Alex Bennée wrote:
> 

> Thomas Huth <thuth@redhat.com> writes:

> 

>> On 22/03/2021 15.41, Alex Bennée wrote:

>>> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

>>> Debian") we made sure we can build the documents on more than one

>>> system. However we don't want to build documents all the time as it's

>>> a waste of cycles (and energy). So lets reduce the total amount of

>>> documentation we build while still keeping some coverage.

>>> Fixes: a8a3abe0b3 ("gitlab: move docs and tools build across from

>>> Travis")

>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>>> ---

>>>    .gitlab-ci.yml | 12 ++++++------

>>>    1 file changed, 6 insertions(+), 6 deletions(-)

>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml

>>> index 9ffbaa7ffb..7714c7cac8 100644

>>> --- a/.gitlab-ci.yml

>>> +++ b/.gitlab-ci.yml

>>> @@ -23,9 +23,9 @@ include:

>>>        - cd build

>>>        - if test -n "$TARGETS";

>>>          then

>>> -        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;

>>> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS --target-list="$TARGETS" ;

>>>          else

>>> -        ../configure --enable-werror $CONFIGURE_ARGS ;

>>> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS ;

>>>          fi || { cat config.log meson-logs/meson-log.txt && exit 1; }

>>>        - if test -n "$LD_JOBS";

>>>          then

>>> @@ -119,7 +119,7 @@ build-system-ubuntu:

>>>        job: amd64-ubuntu2004-container

>>>      variables:

>>>        IMAGE: ubuntu2004

>>> -    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system

>>> +    CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system

>>

>> I think it might be better to add it to the Fedora job - it will

>> likely have a newer version of Sphinx and gets updated more often.

> 

> It's already in build-system-fedora, just the ubuntu one was squashed

> when I moved tools and docs across.


Ah, right, it got enabled in commit d0f26e68a05 there already.

Ok, then I think this patch is fine:

Reviewed-by: Thomas Huth <thuth@redhat.com>
Peter Maydell March 22, 2021, 4:42 p.m. | #4
On Mon, 22 Mar 2021 at 15:09, Alex Bennée <alex.bennee@linaro.org> wrote:
>

> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

> Debian") we made sure we can build the documents on more than one

> system. However we don't want to build documents all the time as it's

> a waste of cycles (and energy). So lets reduce the total amount of

> documentation we build while still keeping some coverage.


We specifically do want to build the docs on every host OS version
we support, because Sphinx is very prone to having docs constructs
that work on one version but not on another, and this is how we
maintain coverage of "do our docs build on every Sphinx version we
claim to support".

thanks
-- PMM
Willian Rampazzo March 22, 2021, 4:59 p.m. | #5
On Mon, Mar 22, 2021 at 11:41 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>

> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

> Debian") we made sure we can build the documents on more than one

> system. However we don't want to build documents all the time as it's

> a waste of cycles (and energy). So lets reduce the total amount of

> documentation we build while still keeping some coverage.

>

> Fixes: a8a3abe0b3 ("gitlab: move docs and tools build across from Travis")

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> ---

>  .gitlab-ci.yml | 12 ++++++------

>  1 file changed, 6 insertions(+), 6 deletions(-)

>


Reviewed-by: Willian Rampazzo <willianr@redhat.com>


> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml

> index 9ffbaa7ffb..7714c7cac8 100644

> --- a/.gitlab-ci.yml

> +++ b/.gitlab-ci.yml

> @@ -23,9 +23,9 @@ include:

>      - cd build

>      - if test -n "$TARGETS";

>        then

> -        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;

> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS --target-list="$TARGETS" ;

>        else

> -        ../configure --enable-werror $CONFIGURE_ARGS ;

> +        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS ;

>        fi || { cat config.log meson-logs/meson-log.txt && exit 1; }

>      - if test -n "$LD_JOBS";

>        then

> @@ -119,7 +119,7 @@ build-system-ubuntu:

>      job: amd64-ubuntu2004-container

>    variables:

>      IMAGE: ubuntu2004

> -    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system

> +    CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system

>      TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu

>        moxie-softmmu microblazeel-softmmu mips64el-softmmu

>      MAKE_CHECK_ARGS: check-build

> @@ -443,7 +443,7 @@ build-user-centos7:

>      job: amd64-centos7-container

>    variables:

>      IMAGE: centos7

> -    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs

> +    CONFIGURE_ARGS: --disable-system --disable-tools

>      MAKE_CHECK_ARGS: check-tcg

>

>  build-some-softmmu-plugins:

> @@ -607,7 +607,7 @@ tsan-build:

>      job: amd64-ubuntu2004-container

>    variables:

>      IMAGE: ubuntu2004

> -    CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10 --disable-docs

> +    CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10

>            --enable-trace-backends=ust --enable-fdt=system --enable-slirp=system

>      TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user

>      MAKE_CHECK_ARGS: bench V=1

> @@ -619,7 +619,7 @@ build-deprecated:

>      job: amd64-debian-user-cross-container

>    variables:

>      IMAGE: debian-all-test-cross

> -    CONFIGURE_ARGS: --disable-docs --disable-tools

> +    CONFIGURE_ARGS: --disable-tools

>      MAKE_CHECK_ARGS: build-tcg

>      TARGETS: ppc64abi32-linux-user lm32-softmmu unicore32-softmmu

>    artifacts:

> --

> 2.20.1

>
Alex Bennée March 22, 2021, 5:20 p.m. | #6
Peter Maydell <peter.maydell@linaro.org> writes:

> On Mon, 22 Mar 2021 at 15:09, Alex Bennée <alex.bennee@linaro.org> wrote:

>>

>> In d0f26e68a0 ("gitlab: force enable docs build in Fedora, Ubuntu,

>> Debian") we made sure we can build the documents on more than one

>> system. However we don't want to build documents all the time as it's

>> a waste of cycles (and energy). So lets reduce the total amount of

>> documentation we build while still keeping some coverage.

>

> We specifically do want to build the docs on every host OS version

> we support, because Sphinx is very prone to having docs constructs

> that work on one version but not on another, and this is how we

> maintain coverage of "do our docs build on every Sphinx version we

> claim to support".


With this applied we will build docs on:

  - Fedora
  - Ubuntu
  - Debian
  - Alpine

we just won't rebuild multiple times. We are currently missing:

 - OpenSuSE
 - CentOS (although "soon" it won't track to "current" RHEL)
 - SLES (not covered anyway)
 - RHEL (not covered anyway)

Also I should probably squash the crossbuilds because I'm not sure it
adds anything given they are all on Debian anyway.

>

> thanks

> -- PMM



-- 
Alex Bennée

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9ffbaa7ffb..7714c7cac8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,9 +23,9 @@  include:
     - cd build
     - if test -n "$TARGETS";
       then
-        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;
+        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS --target-list="$TARGETS" ;
       else
-        ../configure --enable-werror $CONFIGURE_ARGS ;
+        ../configure --enable-werror --disable-docs $CONFIGURE_ARGS ;
       fi || { cat config.log meson-logs/meson-log.txt && exit 1; }
     - if test -n "$LD_JOBS";
       then
@@ -119,7 +119,7 @@  build-system-ubuntu:
     job: amd64-ubuntu2004-container
   variables:
     IMAGE: ubuntu2004
-    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system
+    CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system
     TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
       moxie-softmmu microblazeel-softmmu mips64el-softmmu
     MAKE_CHECK_ARGS: check-build
@@ -443,7 +443,7 @@  build-user-centos7:
     job: amd64-centos7-container
   variables:
     IMAGE: centos7
-    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
+    CONFIGURE_ARGS: --disable-system --disable-tools
     MAKE_CHECK_ARGS: check-tcg
 
 build-some-softmmu-plugins:
@@ -607,7 +607,7 @@  tsan-build:
     job: amd64-ubuntu2004-container
   variables:
     IMAGE: ubuntu2004
-    CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10 --disable-docs
+    CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10
           --enable-trace-backends=ust --enable-fdt=system --enable-slirp=system
     TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user
     MAKE_CHECK_ARGS: bench V=1
@@ -619,7 +619,7 @@  build-deprecated:
     job: amd64-debian-user-cross-container
   variables:
     IMAGE: debian-all-test-cross
-    CONFIGURE_ARGS: --disable-docs --disable-tools
+    CONFIGURE_ARGS: --disable-tools
     MAKE_CHECK_ARGS: build-tcg
     TARGETS: ppc64abi32-linux-user lm32-softmmu unicore32-softmmu
   artifacts: