Richard W.M. Jones
2021-Apr-08 13:36 UTC
[Libguestfs] [libnbd RFC PATCH] First stab at CI infrastructure
On Thu, Apr 08, 2021 at 03:24:20PM +0200, Martin Kletzander wrote:> On Wed, Apr 07, 2021 at 05:49:30PM +0100, Richard W.M. Jones wrote: > >One bug: All the new files that have been added probably need to be > >added to the top-level Makefile.am EXTRA_DIST, certainly if they would > >be in any way useful in the tarball. However if they are not useful > >in the tarball then the target "maintainer-check-extra-dist" (also in > >Makefile.am) must be modified to ignore these files when I do > >"make && make dist && make maintainer-check-extra-dist". > > > > I did not really check more than just running the tests, but if there is > any workflow that you have, then we can incorporate it in there, so that > it checks as much as possible. I tried running `make distcheck` and > there were some harder failures than these, so I wanted to start small.I meant the patch needs to be updated so it either adds these files to EXTRA_DIST (ie. the tarball) or the maintainer-check-extra-dist rule is fixed to ignore them.> > go install: version is required when current directory is not in a module...> > There are couple more, but they are the same failure. Basically > anything that builds with clang (BSD and MacOS by default and CentOS 8 > is running both GCC and clang variants) will error out due to unused > string vector functions. Unfortunately those are generated.libnbd supports only Linux, FreeBSD and OpenBSD. It probably would work on MacOS but I haven't tried it. We do support clang on the supported platforms, but because we don't use CI it's not tested very often so I don't know if it works right now.> Example: > > https://gitlab.com/nertpinx/libnbd/-/jobs/1140619387 > > GCC does not find this even with --enable-gcc-warnings (already used).I'm not sure to what extent we want to use --enable-gcc-warnings on the non-Linux platforms. What does libvirt do here? Do they aim to have GCC warnings clean even on non-Linux?> One last thing that I forgot to mention, but I definitely wanted to ask > about is whether there is a reason behind not erroring out when some > configure option is requested, but cannot be fulfilled. For example > `--with-libxml2` when pkg-config cannot find it will just result in a > warning that most people will miss.If ?./configure --with-libxml2? is used then it's a bug if libxml2 is not present. But libxml2 is an optional dependency so if they didn't specify ?--with-libxml2? and libxml2 is not available it should work. So yes it's a bug.> Anyway, I updated some details and ran it again: > > https://gitlab.com/nertpinx/libnbd/-/pipelines/283351379 > > Let's see what's going to pop up next.golang seems to be failing hard there :-( Looks it fails with libnbd is not already installed (which is a bug). I'll see if I can fix that one. Thanks, Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Richard W.M. Jones
2021-Apr-08 13:42 UTC
[Libguestfs] [libnbd RFC PATCH] First stab at CI infrastructure
On Thu, Apr 08, 2021 at 02:36:22PM +0100, Richard W.M. Jones wrote:> > https://gitlab.com/nertpinx/libnbd/-/pipelines/283351379 > > golang seems to be failing hard there :-( > > Looks it fails with libnbd is not already installed (which is a bug). > I'll see if I can fix that one.Fixed now: https://gitlab.com/nbdkit/libnbd/-/commit/031aaefaa8f78513d76913a54b362044667a4370 Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
Martin Kletzander
2021-Apr-08 15:19 UTC
[Libguestfs] [libnbd RFC PATCH] First stab at CI infrastructure
On Thu, Apr 08, 2021 at 02:36:22PM +0100, Richard W.M. Jones wrote:>On Thu, Apr 08, 2021 at 03:24:20PM +0200, Martin Kletzander wrote: >> On Wed, Apr 07, 2021 at 05:49:30PM +0100, Richard W.M. Jones wrote: >> >One bug: All the new files that have been added probably need to be >> >added to the top-level Makefile.am EXTRA_DIST, certainly if they would >> >be in any way useful in the tarball. However if they are not useful >> >in the tarball then the target "maintainer-check-extra-dist" (also in >> >Makefile.am) must be modified to ignore these files when I do >> >"make && make dist && make maintainer-check-extra-dist". >> > >> >> I did not really check more than just running the tests, but if there is >> any workflow that you have, then we can incorporate it in there, so that >> it checks as much as possible. I tried running `make distcheck` and >> there were some harder failures than these, so I wanted to start small. > >I meant the patch needs to be updated so it either adds these files to >EXTRA_DIST (ie. the tarball) or the maintainer-check-extra-dist rule >is fixed to ignore them. >Fixed now.>> > go install: version is required when current directory is not in a module >... >> >> There are couple more, but they are the same failure. Basically >> anything that builds with clang (BSD and MacOS by default and CentOS 8 >> is running both GCC and clang variants) will error out due to unused >> string vector functions. Unfortunately those are generated. > >libnbd supports only Linux, FreeBSD and OpenBSD. It probably would >work on MacOS but I haven't tried it. We do support clang on the >supported platforms, but because we don't use CI it's not tested very >often so I don't know if it works right now. >Sure, I removed MacOS, we can add it later if you want. Another option is to make the MacOS and MinGW builds not required to pass. In that case they would run, you could see the output, but if they failed, then that would not fail the whole pipeline.>> Example: >> >> https://gitlab.com/nertpinx/libnbd/-/jobs/1140619387 >> >> GCC does not find this even with --enable-gcc-warnings (already used). > >I'm not sure to what extent we want to use --enable-gcc-warnings on >the non-Linux platforms. What does libvirt do here? Do they aim to >have GCC warnings clean even on non-Linux? >Everywhere except some distributions that have literal bugs in them (faulty dependent packages and so on).>> One last thing that I forgot to mention, but I definitely wanted to ask >> about is whether there is a reason behind not erroring out when some >> configure option is requested, but cannot be fulfilled. For example >> `--with-libxml2` when pkg-config cannot find it will just result in a >> warning that most people will miss. > >If ?./configure --with-libxml2? is used then it's a bug if libxml2 is >not present. > >But libxml2 is an optional dependency so if they didn't specify >?--with-libxml2? and libxml2 is not available it should work. > >So yes it's a bug. > >> Anyway, I updated some details and ran it again: >> >> https://gitlab.com/nertpinx/libnbd/-/pipelines/283351379 >> >> Let's see what's going to pop up next. > >golang seems to be failing hard there :-( > >Looks it fails with libnbd is not already installed (which is a bug). >I'll see if I can fix that one. > >Thanks, > >Rich. > >-- >Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones >Read my programming and virtualization blog: http://rwmj.wordpress.com >virt-builder quickly builds VMs from scratch >http://libguestfs.org/virt-builder.1.html-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://listman.redhat.com/archives/libguestfs/attachments/20210408/9678d85a/attachment.sig>