On Fri, 2020-03-20 at 17:27 +0000, Daniel P. Berrangé wrote: > On Fri, Mar 20, 2020 at 06:07:47PM +0100, Andrea Bolognani wrote: > > * why do we care about whether all those features are enabled or > > not? It's pretty ugly to have that list hardcoded in our build > > scripts, and I don't quite get the point in having it in the > > first place; > > It is to reduce the build time - it cuts time for the job in 1/2 > which is worthwhile win. On my laptop, where make is configured to use parallel builds by default through $MAKEFLAGS: $ git clean -xdf && time sh -c 'mkdir build && cd build && ../autogen.sh && make && make install DESTDIR=$(pwd)/../install' real 2m52.997s user 14m46.604s sys 1m56.444s $ git clean -xdf && time sh -c 'mkdir build && cd build && ../autogen.sh --without-libvirtd --without-esx --without-hyperv --without-test --without-dtrace --without-openvz --without-vmware --without-attr --without-audit --without-blkid --without-bash-completion --without-capng --without-curl --without-dbus --without-firewalld --without-fuse --without-glusterfs --without-libiscsi --without-libssh --without-numactl --without-openwsman --without-pciaccess --without-readline --without-sanlock --without-sasl --without-selinux --without-ssh2 --without-udev && make && make install DESTDIR=$(pwd)/../install' real 1m59.594s user 9m4.929s sys 1m13.152s $ git clean -xdf && time sh -c 'mkdir build && cd build && ../autogen.sh && make -C docs/ && make -C docs/ install DESTDIR=$(pwd)/../install' real 0m33.350s user 0m54.281s sys 0m10.986s So we can basically have our cake and eat it too! :) > Using gitlab stages for different types of builds gives us a more > friendly output view. We can distinguish what aspect of the build > has failed at a glance instead of having to peer into the 100's > of KB of build logs. Are we eventually going to have the same syntax-check / build / check split as we currently have in Jenkins? > Eventually we can make use of filters so that when people submit > a patch which only touches the docs, we can skip all the native > build and cross build jobs entirely, only running the docs stage. Sounds like a nice little optimization, assuming we can get it to work reliably, but I have to wonder how frequent it really is that the documentation is updated outside of a series that touches the code as well... -- Andrea Bolognani / Red Hat / Virtualization