On Sat, Feb 08, 2020 at 01:02:41PM +0000, Peter Maydell wrote: > On Fri, 7 Feb 2020 at 19:34, Cleber Rosa <cr...@redhat.com> wrote: > > Also, the build and make steps worked fine without `--disable-gnutls`. > > I was trying to not carry over any "exception" type of arguments, > > unless they proved to be necessary. Maybe Peter can give some more > > info about this (should it be kept or not)? > > A lot of those config options are random historical accident: > I probably added in the configure option to work around something > years back and then never bothered to undo it. I agree that if we > don't need to pass that option to run on whatever OS the CI > job is running on we shouldn't keep it. > > More generally, I don't think we should worry much about > exactly replicating the fine detail of the various configurations I
OK, good to hear that. > currently run on x86. If we basically cover: > * a debug build Which should be covered by the following job (relevant snippets only): ubuntu-18.04.3-x86_64-alldbg: ... - ./configure --enable-debug --disable-libssh - make clean - make - make check V=1 > * a non-debug build I assume the following is a suitable non-debug build: ubuntu-18.04.3-x86_64-all: ... script: - ./configure --disable-libssh - make - make check V=1 > * a linux-user --static build This is roughly the job to fulfill this requirement: ubuntu-18.04.3-x86_64-all-linux-static: ... # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763 # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages - ./configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh - make - make check V=1 - make check-tcg V=1 > * a clang build with the sanitizers enabled [+] I've tested the following which includes the sanitizers but drops the '--enable-gtk' option: ubuntu-18.04.3-x86_64-clang: ... - ./configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers - make - make check V=1 > * windows crossbuilds OK, there weren't any windows crossbuilds jobs in this version but I'm adding them (32 and 64 bits). > * a --disable-tcg build Which should be covered by the following job definition: ubuntu-18.04.3-x86_64-notcg: ... - ./configure --disable-libssh --disable-tcg - make - make check V=1 > * an --enable-tci-interpreter build Which should be covered by: ubuntu-18.04.3-x86_64-tci: ... - ./configure --disable-libssh --enable-tcg-interpreter - make > * and at least one of the above is done as an "incremental" > build and one as a "make clean and then build" I'm not sure yet how to cleanly accomplish this. IIRC it suggests working with different versions of the code in a single job. GitLab will usually give you the code matching the commit you're testing. I believe I could do something like: - git reset --hard HEAD~X - configure ... - make - git checkout $PREVIOUS_HEAD - make But I'll have to experiment a bit more with it. > then that's the same coverage we have today. > > [+] my scripts do this by hand by passing a lot of extra cflags, > but IIRC configure now supports a simple 'enable sanitizers' > option of some kind, which would be OK too > > thanks > -- PMM > Thanks for the very straight answers here. I'll work on those two remaining points (windows cross builds, and incremental builds). Please let me know if I misunderstood any of your points. Thanks, - Cleber.
signature.asc
Description: PGP signature