On Thu, Jun 18, 2020 at 12:01:13PM +0200, Andrea Bolognani wrote: > On Wed, 2020-06-17 at 19:06 +0100, Daniel P. Berrangé wrote: > [...] > > +.script_variables: &script_variables | > > + export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)" > > + export SCRATCH_DIR="/tmp/scratch" > > + export VROOT="$SCRATCH_DIR/vroot" > > + export CCACHE_DIR="$PWD/ccache" > > + export CCACHE_MAXSIZE="500M" > > + export PATH="$CCACHE_WRAPPERSDIR:$VROOT/bin:$PATH" > > + export PKG_CONFIG_PATH="$VROOT/lib/pkgconfig" > > + export XDG_DATA_DIRS="$VROOT/share:/usr/share" > > + export GI_TYPELIB_PATH="$VROOT/lib/girepository-1.0" > > + > > +.git_native_build_job_template: &git_native_build_job_definition > > + image: $CI_REGISTRY_IMAGE/ci-$NAME:latest > > + stage: builds > > + cache: > > + paths: > > + - ccache/ > > + key: "$CI_JOB_NAME" > > + before_script: > > + - *script_variables > > + - export LD_LIBRARY_PATH="$VROOT/lib" > > Same as libvirt-glib, LD_LIBRARY_PATH can be part of > script_variables without affecting the other build jobs. Yep. > > + script: > > + - pushd "$PWD" > > + - mkdir -p "$SCRATCH_DIR" > > + - cd "$SCRATCH_DIR" > > + - git clone --depth 1 https://gitlab.com/libvirt/libvirt.git > > + - git clone --depth 1 https://gitlab.com/libvirt/libvirt-glib.git > > + - mkdir libvirt/build > > + - cd libvirt/build > > + - ../autogen.sh --prefix="$VROOT" --without-libvirtd > > + - $MAKE install > > + - cd ../.. > > + - mkdir libvirt-glib/build > > + - cd libvirt-glib/build > > + - ../autogen.sh --prefix="$VROOT" --without-libvirtd > > You don't need --without-libvirtd for this one ;) Opps > > + - $MAKE install > > + - popd > > + - mkdir build > > + - cd build > > + - ../autogen.sh --prefix="$VROOT" --enable-gtk-doc > > + - $MAKE install > > + - $MAKE dist > > + - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild --nodeps -ta libvirt-sandbox*.tar.gz ; fi > > We need to run '$MAKE check' as well. Yep will add. > Speaking of which, I suggest that we start organizing the script for > git builds a bit differently: > > script: > - mkdir -p "$SCRATCH_DIR" > - pushd "$SCRATCH_DIR" > - git clone --depth 1 https://gitlab.com/libvirt/libvirt.git > - mkdir libvirt/build > - pushd libvirt/build > - # ... > - popd > - git clone --depth 1 https://gitlab.com/libvirt/libvirt-glib.git > - mkdir libvirt-glib/build > - pushd libvirt-glib/build > - # ... > - popd > - popd > - mkdir build > - cd build > - # ... > > This avoids the unnecessary initial pushd/cd combination, keeps > builds for each project neatly separated, and avoids using relative > paths for most things. What do you think? For now I'd rather keep the consistent approach we've already used for other repos. I think there might be better ways to deal with the builds later, perhaps using cross-repo include files for the deps. > > +if ! test -x "$LCITOOL" > > +then > > + echo "$LCITOOL is not executable" > > + exit 1 > > +fi > > + > > +HOSTS=$($LCITOOL hosts | grep -v -E '(freebsd|centos|opensuse)') > > According to > > host_vars/libvirt-opensuse-151/main.yml > playbooks/build/projects/libvirt-sandbox.yml > > in libvirt-ci, libvirt-sandbox can be built on openSUSE just fine; > I just tried it locally to double-check and had no problems with it > either. So, please don't exclude openSUSE here. That was doing a from git build, where as this is doing a from dist build, but I've found the missing packages for this now. > > +for host in $HOSTS > > +do > > + if test "$host" = "libvirt-ubuntu-2004" > > + then > > + $LCITOOL dockerfile $host libvirt+minimal,libvirt-glib,libvirt-sandbox > $host.Dockerfile > > + else > > + $LCITOOL dockerfile $host libvirt+dist,libvirt-glib+dist,libvirt-sandbox > $host.Dockerfile > > This fails for me because libvirt-glib+dist is not know to lcitool. > I assume you have local patches that add the project - can you please > open a MR against libvirt-ci and mention it in the commit message, so > that I can check everything locally during review? Yes I have libvirt-ci changes to submit after this is finalized. 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 :|