Message ID | 20210113151408.27939-10-alex.bennee@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | testing/next (tags!, more travis/shippable deprecation) | expand |
On 13/01/2021 16.14, Alex Bennée wrote: > While we are at it we might as well check the tag generation. For > bonus points we run GNU globals htags into the public pages directory > for publishing with the auto generated pages. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .gitlab-ci.yml | 22 ++++++++++++++++------ > .travis.yml | 16 ---------------- > 2 files changed, 16 insertions(+), 22 deletions(-) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 4532f1718a..c07064a4f7 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -79,7 +79,6 @@ build-system-ubuntu: > TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu > moxie-softmmu microblazeel-softmmu mips64el-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -111,7 +110,6 @@ build-system-debian: > TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu > riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -126,6 +124,17 @@ check-system-debian: > IMAGE: debian-amd64 > MAKE_CHECK_ARGS: check > > +build-tools-and-docs-debian: > + <<: *native_build_job_definition > + variables: > + IMAGE: debian-amd64 > + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > + CONFIGURE_ARGS: --enable-docs --enable-tools > + artifacts: > + expire_in: 2 days > + paths: > + - build > + > acceptance-system-debian: > <<: *native_test_job_definition > needs: > @@ -597,13 +606,14 @@ build-libvhost-user: > - ninja > > pages: > - image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest > + image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest > stage: test > needs: > - - job: build-system-ubuntu > - artifacts: true > + - job: build-tools-and-docs-debian > script: > - - mkdir public > + - mkdir -p public/src > + - htags --suggest --tree-view=filetree -m qemu_init > + -t "Welcome to the QEMU source code" public/src > - mv build/docs/index.html public/ > - for i in devel interop specs system tools user ; do mv build/docs/$i public/ ; done > artifacts: > diff --git a/.travis.yml b/.travis.yml > index f2a101936c..3b574a5968 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -148,22 +148,6 @@ jobs: > - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" > > > - # Check we can build docs and tools (out of tree) > - - name: "tools and docs (bionic)" > - dist: bionic > - env: > - - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." > - - BASE_CONFIG="--enable-tools --enable-docs" > - - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" > - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" > - addons: > - apt: > - packages: > - - ninja-build > - - python3-sphinx > - - perl > - > - > # Test with Clang for compile portability (Travis uses clang-5.0) > - name: "Clang (user)" > env: > Acked-by: Thomas Huth <thuth@redhat.com>
On Wed, Jan 13, 2021 at 03:14:08PM +0000, Alex Bennée wrote: > While we are at it we might as well check the tag generation. For > bonus points we run GNU globals htags into the public pages directory > for publishing with the auto generated pages. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .gitlab-ci.yml | 22 ++++++++++++++++------ > .travis.yml | 16 ---------------- > 2 files changed, 16 insertions(+), 22 deletions(-) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 4532f1718a..c07064a4f7 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -79,7 +79,6 @@ build-system-ubuntu: > TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu > moxie-softmmu microblazeel-softmmu mips64el-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -111,7 +110,6 @@ build-system-debian: > TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu > riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -126,6 +124,17 @@ check-system-debian: > IMAGE: debian-amd64 > MAKE_CHECK_ARGS: check > > +build-tools-and-docs-debian: > + <<: *native_build_job_definition > + variables: > + IMAGE: debian-amd64 > + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > + CONFIGURE_ARGS: --enable-docs --enable-tools > + artifacts: > + expire_in: 2 days > + paths: > + - build Do we actually need this job at all ? Assuming the depenedancies are in the dockerfile, then all the build jobs will be testing docs and tools already, as meson will auto enable it. Regards, Daniel
On Wed, 13 Jan 2021 at 15:40, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Wed, Jan 13, 2021 at 03:14:08PM +0000, Alex Bennée wrote: > > While we are at it we might as well check the tag generation. For > > bonus points we run GNU globals htags into the public pages directory > > for publishing with the auto generated pages. > > +build-tools-and-docs-debian: > > + <<: *native_build_job_definition > > + variables: > > + IMAGE: debian-amd64 > > + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > > + CONFIGURE_ARGS: --enable-docs --enable-tools > > + artifacts: > > + expire_in: 2 days > > + paths: > > + - build > > Do we actually need this job at all ? > > Assuming the depenedancies are in the dockerfile, then all the > build jobs will be testing docs and tools already, as meson will > auto enable it. What I would like to see is a set of "just build the docs" CI jobs which test all our supported Sphinx versions (eg 1.6, 2.0, 2.4, 3.0, 3.2), since we've found that Sphinx is not great about consistency of accepted syntax from version to version. (Somebody sent a patch for this ages ago, but it was for a Travis CI job IIRC, which we're trying to move away from.) thanks -- PMM
On Wed, Jan 13, 2021 at 03:46:17PM +0000, Peter Maydell wrote: > On Wed, 13 Jan 2021 at 15:40, Daniel P. Berrangé <berrange@redhat.com> wrote: > > > > On Wed, Jan 13, 2021 at 03:14:08PM +0000, Alex Bennée wrote: > > > While we are at it we might as well check the tag generation. For > > > bonus points we run GNU globals htags into the public pages directory > > > for publishing with the auto generated pages. > > > > +build-tools-and-docs-debian: > > > + <<: *native_build_job_definition > > > + variables: > > > + IMAGE: debian-amd64 > > > + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > > > + CONFIGURE_ARGS: --enable-docs --enable-tools > > > + artifacts: > > > + expire_in: 2 days > > > + paths: > > > + - build > > > > Do we actually need this job at all ? > > > > Assuming the depenedancies are in the dockerfile, then all the > > build jobs will be testing docs and tools already, as meson will > > auto enable it. > > What I would like to see is a set of "just build the docs" > CI jobs which test all our supported Sphinx versions > (eg 1.6, 2.0, 2.4, 3.0, 3.2), since we've found that Sphinx > is not great about consistency of accepted syntax from > version to version. (Somebody sent a patch for this ages > ago, but it was for a Travis CI job IIRC, which we're trying > to move away from.) We only care about the Sphinx versions that exist in the OS distros that we're targetting as build platforms. So as long as we have build jobs for all the distros we have dockerfiles for, then we're covering all the sphinx versions that matter. IOW, I think our gitlab jobs are already covering a good variety of sphinx versions. There are possibly gaps because our dockerfiles have a horribly inconsistent set of RPMs listed. This inconsistency is addressed in this patch series of mine to autogenerate the dockerfiles: https://lists.gnu.org/archive/html/qemu-devel/2020-12/msg00189.html which will ensure all our dockerfiles have the deps needed to satisfy all features in QEMU. Regards, Daniel
Daniel P. Berrangé <berrange@redhat.com> writes: > On Wed, Jan 13, 2021 at 03:14:08PM +0000, Alex Bennée wrote: >> While we are at it we might as well check the tag generation. For >> bonus points we run GNU globals htags into the public pages directory >> for publishing with the auto generated pages. >> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> --- >> .gitlab-ci.yml | 22 ++++++++++++++++------ >> .travis.yml | 16 ---------------- >> 2 files changed, 16 insertions(+), 22 deletions(-) >> >> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml >> index 4532f1718a..c07064a4f7 100644 >> --- a/.gitlab-ci.yml >> +++ b/.gitlab-ci.yml >> @@ -79,7 +79,6 @@ build-system-ubuntu: >> TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu >> moxie-softmmu microblazeel-softmmu mips64el-softmmu >> MAKE_CHECK_ARGS: check-build >> - CONFIGURE_ARGS: --enable-docs >> artifacts: >> expire_in: 2 days >> paths: >> @@ -111,7 +110,6 @@ build-system-debian: >> TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu >> riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu >> MAKE_CHECK_ARGS: check-build >> - CONFIGURE_ARGS: --enable-docs >> artifacts: >> expire_in: 2 days >> paths: >> @@ -126,6 +124,17 @@ check-system-debian: >> IMAGE: debian-amd64 >> MAKE_CHECK_ARGS: check >> >> +build-tools-and-docs-debian: >> + <<: *native_build_job_definition >> + variables: >> + IMAGE: debian-amd64 >> + MAKE_CHECK_ARGS: ctags gtags TAGS cscope >> + CONFIGURE_ARGS: --enable-docs --enable-tools >> + artifacts: >> + expire_in: 2 days >> + paths: >> + - build > > Do we actually need this job at all ? > > Assuming the depenedancies are in the dockerfile, then all the > build jobs will be testing docs and tools already, as meson will > auto enable it. I pondered making an explicit --disable-docs to save some run time but really this is providing a golden build of the docs which can tehn be deployed by pages. It also ensure the tag generation works for the various tag outputs - the GNU global output being used to also publish a HTML navigable version of the source tree. > > Regards, > Daniel
On Wed, Jan 13, 2021 at 04:27:54PM +0000, Alex Bennée wrote: > > Daniel P. Berrangé <berrange@redhat.com> writes: > > > On Wed, Jan 13, 2021 at 03:14:08PM +0000, Alex Bennée wrote: > >> While we are at it we might as well check the tag generation. For > >> bonus points we run GNU globals htags into the public pages directory > >> for publishing with the auto generated pages. > >> > >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > >> --- > >> .gitlab-ci.yml | 22 ++++++++++++++++------ > >> .travis.yml | 16 ---------------- > >> 2 files changed, 16 insertions(+), 22 deletions(-) > >> > >> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > >> index 4532f1718a..c07064a4f7 100644 > >> --- a/.gitlab-ci.yml > >> +++ b/.gitlab-ci.yml > >> @@ -79,7 +79,6 @@ build-system-ubuntu: > >> TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu > >> moxie-softmmu microblazeel-softmmu mips64el-softmmu > >> MAKE_CHECK_ARGS: check-build > >> - CONFIGURE_ARGS: --enable-docs > >> artifacts: > >> expire_in: 2 days > >> paths: > >> @@ -111,7 +110,6 @@ build-system-debian: > >> TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu > >> riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu > >> MAKE_CHECK_ARGS: check-build > >> - CONFIGURE_ARGS: --enable-docs > >> artifacts: > >> expire_in: 2 days > >> paths: > >> @@ -126,6 +124,17 @@ check-system-debian: > >> IMAGE: debian-amd64 > >> MAKE_CHECK_ARGS: check > >> > >> +build-tools-and-docs-debian: > >> + <<: *native_build_job_definition > >> + variables: > >> + IMAGE: debian-amd64 > >> + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > >> + CONFIGURE_ARGS: --enable-docs --enable-tools > >> + artifacts: > >> + expire_in: 2 days > >> + paths: > >> + - build > > > > Do we actually need this job at all ? > > > > Assuming the depenedancies are in the dockerfile, then all the > > build jobs will be testing docs and tools already, as meson will > > auto enable it. > > I pondered making an explicit --disable-docs to save some run time but > really this is providing a golden build of the docs which can tehn be > deployed bypages. Oh right I missed that subtle detail. I saw the separate pages job but didn't realize this was a pre-req of it. So with that in mind no objection. > It also ensure the tag generation works for the various tag outputs - > the GNU global output being used to also publish a HTML navigable > version of the source tree. Regards, Daniel
On 1/13/21 12:14 PM, Alex Bennée wrote: > While we are at it we might as well check the tag generation. For > bonus points we run GNU globals htags into the public pages directory > for publishing with the auto generated pages. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .gitlab-ci.yml | 22 ++++++++++++++++------ > .travis.yml | 16 ---------------- > 2 files changed, 16 insertions(+), 22 deletions(-) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 4532f1718a..c07064a4f7 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -79,7 +79,6 @@ build-system-ubuntu: > TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu > moxie-softmmu microblazeel-softmmu mips64el-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -111,7 +110,6 @@ build-system-debian: > TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu > riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu > MAKE_CHECK_ARGS: check-build > - CONFIGURE_ARGS: --enable-docs > artifacts: > expire_in: 2 days > paths: > @@ -126,6 +124,17 @@ check-system-debian: > IMAGE: debian-amd64 > MAKE_CHECK_ARGS: check > > +build-tools-and-docs-debian: > + <<: *native_build_job_definition > + variables: > + IMAGE: debian-amd64 > + MAKE_CHECK_ARGS: ctags gtags TAGS cscope > + CONFIGURE_ARGS: --enable-docs --enable-tools > + artifacts: > + expire_in: 2 days > + paths: > + - build > + > acceptance-system-debian: > <<: *native_test_job_definition > needs: > @@ -597,13 +606,14 @@ build-libvhost-user: > - ninja > > pages: > - image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest > + image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest > stage: test > needs: > - - job: build-system-ubuntu > - artifacts: true > + - job: build-tools-and-docs-debian > script: Just for the records: artifacts is true by default. > - - mkdir public > + - mkdir -p public/src > + - htags --suggest --tree-view=filetree -m qemu_init > + -t "Welcome to the QEMU source code" public/src > - mv build/docs/index.html public/ > - for i in devel interop specs system tools user ; do mv build/docs/$i public/ ; done > artifacts: > diff --git a/.travis.yml b/.travis.yml > index f2a101936c..3b574a5968 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -148,22 +148,6 @@ jobs: > - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" > > > - # Check we can build docs and tools (out of tree) > - - name: "tools and docs (bionic)" > - dist: bionic > - env: > - - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." > - - BASE_CONFIG="--enable-tools --enable-docs" > - - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" > - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" > - addons: > - apt: > - packages: > - - ninja-build > - - python3-sphinx > - - perl > - > - > # Test with Clang for compile portability (Travis uses clang-5.0) > - name: "Clang (user)" > env: Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
On Wed, 13 Jan 2021 at 16:35, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Wed, Jan 13, 2021 at 04:27:54PM +0000, Alex Bennée wrote: > > > > Daniel P. Berrangé <berrange@redhat.com> writes: > > > Do we actually need this job at all ? > > > > > > Assuming the depenedancies are in the dockerfile, then all the > > > build jobs will be testing docs and tools already, as meson will > > > auto enable it. > > > > I pondered making an explicit --disable-docs to save some run time but > > really this is providing a golden build of the docs which can tehn be > > deployed bypages. > > Oh right I missed that subtle detail. I saw the separate pages job > but didn't realize this was a pre-req of it. This suggests that a brief comment for each job explaining why we have it would be useful. (compare my inability the other day to identify what the 'pages' job was doing -- a comment saying "This job publishes the HTML docs previously built by the $whatever job as gitlab pages which can then be viewed at $url" would have helped a lot.) -- PMM
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4532f1718a..c07064a4f7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -79,7 +79,6 @@ build-system-ubuntu: TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu moxie-softmmu microblazeel-softmmu mips64el-softmmu MAKE_CHECK_ARGS: check-build - CONFIGURE_ARGS: --enable-docs artifacts: expire_in: 2 days paths: @@ -111,7 +110,6 @@ build-system-debian: TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu MAKE_CHECK_ARGS: check-build - CONFIGURE_ARGS: --enable-docs artifacts: expire_in: 2 days paths: @@ -126,6 +124,17 @@ check-system-debian: IMAGE: debian-amd64 MAKE_CHECK_ARGS: check +build-tools-and-docs-debian: + <<: *native_build_job_definition + variables: + IMAGE: debian-amd64 + MAKE_CHECK_ARGS: ctags gtags TAGS cscope + CONFIGURE_ARGS: --enable-docs --enable-tools + artifacts: + expire_in: 2 days + paths: + - build + acceptance-system-debian: <<: *native_test_job_definition needs: @@ -597,13 +606,14 @@ build-libvhost-user: - ninja pages: - image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest + image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest stage: test needs: - - job: build-system-ubuntu - artifacts: true + - job: build-tools-and-docs-debian script: - - mkdir public + - mkdir -p public/src + - htags --suggest --tree-view=filetree -m qemu_init + -t "Welcome to the QEMU source code" public/src - mv build/docs/index.html public/ - for i in devel interop specs system tools user ; do mv build/docs/$i public/ ; done artifacts: diff --git a/.travis.yml b/.travis.yml index f2a101936c..3b574a5968 100644 --- a/.travis.yml +++ b/.travis.yml @@ -148,22 +148,6 @@ jobs: - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - # Check we can build docs and tools (out of tree) - - name: "tools and docs (bionic)" - dist: bionic - env: - - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.." - - BASE_CONFIG="--enable-tools --enable-docs" - - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" - addons: - apt: - packages: - - ninja-build - - python3-sphinx - - perl - - # Test with Clang for compile portability (Travis uses clang-5.0) - name: "Clang (user)" env:
While we are at it we might as well check the tag generation. For bonus points we run GNU globals htags into the public pages directory for publishing with the auto generated pages. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- .gitlab-ci.yml | 22 ++++++++++++++++------ .travis.yml | 16 ---------------- 2 files changed, 16 insertions(+), 22 deletions(-)