[libvirt-glib PATCH] gitlab: introduce CI jobs testing git master & distro libvirt

Daniel P. Berrangé berrange at redhat.com
Wed Jun 17 13:35:29 UTC 2020


On Wed, Jun 17, 2020 at 12:54:56PM +0200, Andrea Bolognani wrote:
> On Thu, 2020-06-11 at 17:42 +0100, Daniel P. Berrangé wrote:
> >  ci/libvirt-centos-7.Dockerfile                |  88 +++++++
> >  ci/libvirt-centos-8.Dockerfile                |  64 +++++
> >  ci/libvirt-centos-stream.Dockerfile           |  58 +++++
> >  ci/libvirt-debian-10.Dockerfile               |  58 +++++
> >  ci/libvirt-debian-9.Dockerfile                |  61 +++++
> >  ci/libvirt-debian-sid.Dockerfile              |  58 +++++
> >  ci/libvirt-fedora-31.Dockerfile               |  55 +++++
> >  ci/libvirt-fedora-32.Dockerfile               |  55 +++++
> >  ...rt-fedora-rawhide-cross-mingw32.Dockerfile | 133 ++++++++++
> >  ...rt-fedora-rawhide-cross-mingw64.Dockerfile | 133 ++++++++++
> >  ci/libvirt-fedora-rawhide.Dockerfile          |  56 +++++
> >  ci/libvirt-opensuse-151.Dockerfile            |  57 +++++
> >  ci/libvirt-ubuntu-1804.Dockerfile             |  61 +++++
> >  ci/libvirt-ubuntu-2004.Dockerfile             |  58 +++++
> >  ci/refresh                                    |  36 +++
> 
> Please put all the Dockerfiles in ci/containers, as is already the
> case for libvirt: the extra directory will ensure things remain tidy
> even after we roll out support for Cirrus CI to all projects.
> 
> You're also missing the usual README.rst explaining how the
> Dockerfiles are generated.
> 
> [...]
> >  stages:
> >    - prebuild
> > +  - containers
> > +  - builds
> > +  - docs
> 
> The 'docs' stage is not used anywhere.
> 
> > +.script_variables: &script_variables |
> > +  export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
> > +  export VROOT="$SCRATCH_DIR/vroot"
> > +  export CCACHE_BASEDIR="$(pwd)"
> > +  export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
> > +  export CCACHE_MAXSIZE="500M"
> > +  export PATH="$CCACHE_WRAPPERSDIR:$VROOT/bin:$PATH"
> > +  export SCRATCH_DIR="/tmp/scratch"
> > +  export PKG_CONFIG_PATH="$VROOT/lib/pkgconfig"
> 
> You need to define $SCRATCH_DIR before $VROOT, otherwise the latter
> will get the wrong value.
> 
> I also just realized that the way we set $CCACHE_BASEDIR might not
> work for the libvirt build that we perform as a prerequisite, and

There's no problem - $(pwd) expands at the time the variable is
defined.

> since we use the same paths across builds anyway there doesn't seem
> to be a point in setting it. So I suggest we have
> 
>   export SCRATCH_DIR="/tmp/scratch"
>   export VROOT="$SCRATCH_DIR/vroot"
>   export CCACHE_DIR="$SCRATCH_DIR/ccache"

The ccache dir has to be a subdir of the source checkout for
gitlab to cache it between jobs.


> > +  script:
> > +    - mkdir build
> > +    - cd build
> > +    - ../autogen.sh --prefix="$VROOT"
> > +    - $MAKE install
> > +    - $MAKE dist
> 
> Do we want distcheck here, or is the combination of dist plus
> building the RPM package (which effectively runs check inside the
> generated tarball) good enough?

I think its good enough. Also I want to switch to meson for glib
asap.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list