Message ID | 1497369290-20401-2-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Automate coverity scan uploads via Travis | expand |
As you said, due to Travis using Ubuntu still not all libs get detected but at least the following: $ ./configure ${CONFIG} -VirtFS support no +VirtFS support yes -bluez support no +bluez support yes -xfsctl support no +xfsctl support yes -lzo support no +lzo support yes -snappy support no +snappy support yes Using debian based docker images on Shippable we also get: -nettle no -nettle kdf no +nettle yes (3.3) +nettle kdf yes -rbd support no +rbd support yes -vde support no +vde support yes -GlusterFS support no +GlusterFS support yes -libnfs support no +libnfs support yes On 06/13/2017 12:54 PM, Peter Maydell wrote: > Update the travis list of library packages to install so that > our build tests cover more of our code base. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > .travis.yml | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/.travis.yml b/.travis.yml > index 27a2d9c..26dabb6 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -11,28 +11,37 @@ addons: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > > # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu > # to prevent IRC notifications from forks. This was created using: > @@ -162,28 +171,37 @@ matrix: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > language: generic > compiler: none > env: >
Peter Maydell <peter.maydell@linaro.org> writes: > Update the travis list of library packages to install so that > our build tests cover more of our code base. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > .travis.yml | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/.travis.yml b/.travis.yml > index 27a2d9c..26dabb6 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -11,28 +11,37 @@ addons: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > > # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu > # to prevent IRC notifications from forks. This was created using: > @@ -162,28 +171,37 @@ matrix: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > language: generic > compiler: none > env: -- Alex Bennée
On 14/06/2017 05:52, Philippe Mathieu-Daudé wrote: > As you said, due to Travis using Ubuntu still not all libs get detected > but at least the following: > > $ ./configure ${CONFIG} > -VirtFS support no > +VirtFS support yes > -bluez support no > +bluez support yes > -xfsctl support no > +xfsctl support yes > -lzo support no > +lzo support yes > -snappy support no > +snappy support yes > > Using debian based docker images on Shippable we also get: > > -nettle no > -nettle kdf no > +nettle yes (3.3) > +nettle kdf yes > -rbd support no > +rbd support yes > -vde support no > +vde support yes > -GlusterFS support no > +GlusterFS support yes > -libnfs support no > +libnfs support yes So this leaves out only rdma and iscsi? I don't know travis vs. shippable very well, can you provide a similar patch to shippable? Paolo > On 06/13/2017 12:54 PM, Peter Maydell wrote: >> Update the travis list of library packages to install so that >> our build tests cover more of our code base. >> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> --- >> .travis.yml | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/.travis.yml b/.travis.yml >> index 27a2d9c..26dabb6 100644 >> --- a/.travis.yml >> +++ b/.travis.yml >> @@ -11,28 +11,37 @@ addons: >> # Build dependencies >> - libaio-dev >> - libattr1-dev >> + - libbluetooth-dev >> - libbrlapi-dev >> + - libcap-dev >> - libcap-ng-dev >> - libgnutls-dev >> - libgtk-3-dev >> - libiscsi-dev >> - liblttng-ust-dev >> + - liblzo2-dev >> - libnfs-dev >> - libncurses5-dev >> - libnss3-dev >> - libpixman-1-dev >> - libpng12-dev >> - librados-dev >> + - librdmacm-dev >> - libsdl1.2-dev >> - libseccomp-dev >> + - libsnappy-dev >> - libspice-protocol-dev >> - libspice-server-dev >> - libssh2-1-dev >> - liburcu-dev >> - libusb-1.0-0-dev >> + - libvde-dev >> - libvte-2.90-dev >> + - libxen-dev >> + - nettle-dev >> - sparse >> - uuid-dev >> + - xfslibs-dev >> >> # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu >> # to prevent IRC notifications from forks. This was created using: >> @@ -162,28 +171,37 @@ matrix: >> # Build dependencies >> - libaio-dev >> - libattr1-dev >> + - libbluetooth-dev >> - libbrlapi-dev >> + - libcap-dev >> - libcap-ng-dev >> - libgnutls-dev >> - libgtk-3-dev >> - libiscsi-dev >> - liblttng-ust-dev >> + - liblzo2-dev >> - libnfs-dev >> - libncurses5-dev >> - libnss3-dev >> - libpixman-1-dev >> - libpng12-dev >> - librados-dev >> + - librdmacm-dev >> - libsdl1.2-dev >> - libseccomp-dev >> + - libsnappy-dev >> - libspice-protocol-dev >> - libspice-server-dev >> - libssh2-1-dev >> - liburcu-dev >> - libusb-1.0-0-dev >> + - libvde-dev >> - libvte-2.90-dev >> + - libxen-dev >> + - nettle-dev >> - sparse >> - uuid-dev >> + - xfslibs-dev >> language: generic >> compiler: none >> env: >>
On Tue, Jun 13, 2017 at 04:54:48PM +0100, Peter Maydell wrote: > Update the travis list of library packages to install so that > our build tests cover more of our code base. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> I'm seeing the OS-X and GProf/GCov enable build entries fail with timeouts a reasonable amount of time, so turning on more features will make timeouts hit even more frequently. This patch would at least impact the GProf/GCov matrix entry in this respect. Is there anything we can do to mitigate this problem ? > --- > .travis.yml | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/.travis.yml b/.travis.yml > index 27a2d9c..26dabb6 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -11,28 +11,37 @@ addons: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > > # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu > # to prevent IRC notifications from forks. This was created using: > @@ -162,28 +171,37 @@ matrix: > # Build dependencies > - libaio-dev > - libattr1-dev > + - libbluetooth-dev > - libbrlapi-dev > + - libcap-dev > - libcap-ng-dev > - libgnutls-dev > - libgtk-3-dev > - libiscsi-dev > - liblttng-ust-dev > + - liblzo2-dev > - libnfs-dev > - libncurses5-dev > - libnss3-dev > - libpixman-1-dev > - libpng12-dev > - librados-dev > + - librdmacm-dev > - libsdl1.2-dev > - libseccomp-dev > + - libsnappy-dev > - libspice-protocol-dev > - libspice-server-dev > - libssh2-1-dev > - liburcu-dev > - libusb-1.0-0-dev > + - libvde-dev > - libvte-2.90-dev > + - libxen-dev > + - nettle-dev > - sparse > - uuid-dev > + - xfslibs-dev > language: generic > compiler: none > env: > -- > 2.7.4 > > 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 :|
On 06/14/2017 12:15 PM, Daniel P. Berrange wrote: > On Tue, Jun 13, 2017 at 04:54:48PM +0100, Peter Maydell wrote: >> Update the travis list of library packages to install so that >> our build tests cover more of our code base. >> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > I'm seeing the OS-X and GProf/GCov enable build entries fail with > timeouts a reasonable amount of time, so turning on more features > will make timeouts hit even more frequently. This patch would at > least impact the GProf/GCov matrix entry in this respect. Is there > anything we can do to mitigate this problem ? There are few things we can tune: https://docs.travis-ci.com/user/common-build-problems#my-builds-are-timing-out But it seems easier to split the matrix a bit more, i.e. using --disable-system and --disable-linux/bsd-user, having a job only building full documentation (not compiling) and all other jobs using --disable-docs and so. >> --- >> .travis.yml | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/.travis.yml b/.travis.yml >> index 27a2d9c..26dabb6 100644 >> --- a/.travis.yml >> +++ b/.travis.yml >> @@ -11,28 +11,37 @@ addons: >> # Build dependencies >> - libaio-dev >> - libattr1-dev >> + - libbluetooth-dev >> - libbrlapi-dev >> + - libcap-dev >> - libcap-ng-dev >> - libgnutls-dev >> - libgtk-3-dev >> - libiscsi-dev >> - liblttng-ust-dev >> + - liblzo2-dev >> - libnfs-dev >> - libncurses5-dev >> - libnss3-dev >> - libpixman-1-dev >> - libpng12-dev >> - librados-dev >> + - librdmacm-dev >> - libsdl1.2-dev >> - libseccomp-dev >> + - libsnappy-dev >> - libspice-protocol-dev >> - libspice-server-dev >> - libssh2-1-dev >> - liburcu-dev >> - libusb-1.0-0-dev >> + - libvde-dev >> - libvte-2.90-dev >> + - libxen-dev >> + - nettle-dev >> - sparse >> - uuid-dev >> + - xfslibs-dev >> >> # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu >> # to prevent IRC notifications from forks. This was created using: >> @@ -162,28 +171,37 @@ matrix: >> # Build dependencies >> - libaio-dev >> - libattr1-dev >> + - libbluetooth-dev >> - libbrlapi-dev >> + - libcap-dev >> - libcap-ng-dev >> - libgnutls-dev >> - libgtk-3-dev >> - libiscsi-dev >> - liblttng-ust-dev >> + - liblzo2-dev >> - libnfs-dev >> - libncurses5-dev >> - libnss3-dev >> - libpixman-1-dev >> - libpng12-dev >> - librados-dev >> + - librdmacm-dev >> - libsdl1.2-dev >> - libseccomp-dev >> + - libsnappy-dev >> - libspice-protocol-dev >> - libspice-server-dev >> - libssh2-1-dev >> - liburcu-dev >> - libusb-1.0-0-dev >> + - libvde-dev >> - libvte-2.90-dev >> + - libxen-dev >> + - nettle-dev >> - sparse >> - uuid-dev >> + - xfslibs-dev >> language: generic >> compiler: none >> env: >> -- >> 2.7.4 >> >> > > Regards, > Daniel >
On 06/14/2017 12:07 PM, Paolo Bonzini wrote: > > > On 14/06/2017 05:52, Philippe Mathieu-Daudé wrote: >> As you said, due to Travis using Ubuntu still not all libs get detected >> but at least the following: >> >> $ ./configure ${CONFIG} >> -VirtFS support no >> +VirtFS support yes >> -bluez support no >> +bluez support yes >> -xfsctl support no >> +xfsctl support yes >> -lzo support no >> +lzo support yes >> -snappy support no >> +snappy support yes >> >> Using debian based docker images on Shippable we also get: >> >> -nettle no >> -nettle kdf no >> +nettle yes (3.3) >> +nettle kdf yes >> -rbd support no >> +rbd support yes >> -vde support no >> +vde support yes >> -GlusterFS support no >> +GlusterFS support yes >> -libnfs support no >> +libnfs support yes > > So this leaves out only rdma and iscsi? > > I don't know travis vs. shippable very well, can you provide a similar > patch to shippable? Travis base images are Ubuntu based, as said Peter "some of our dependencies need versions that are closer to the bleeding edge than those distros provide". With Shippable we can use our own docker images, i.e. for cross-compiling we use debian/stable. I already provided a branch doing that on Shippable reviewed by Alex/Fam: https://github.com/philmd/qemu/tree/docker_shippable_v5 I believe it is in Fam's queue. You can check output here: https://app.shippable.com/github/philmd/qemu/runs/78/1/console ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST} target list arm-softmmu arm-linux-user armeb-linux-user ... RDMA support yes ... libiscsi support yes > > Paolo > >> On 06/13/2017 12:54 PM, Peter Maydell wrote: >>> Update the travis list of library packages to install so that >>> our build tests cover more of our code base. >>> >>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> >> >> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> >>> --- >>> .travis.yml | 18 ++++++++++++++++++ >>> 1 file changed, 18 insertions(+) >>> >>> diff --git a/.travis.yml b/.travis.yml >>> index 27a2d9c..26dabb6 100644 >>> --- a/.travis.yml >>> +++ b/.travis.yml >>> @@ -11,28 +11,37 @@ addons: >>> # Build dependencies >>> - libaio-dev >>> - libattr1-dev >>> + - libbluetooth-dev >>> - libbrlapi-dev >>> + - libcap-dev >>> - libcap-ng-dev >>> - libgnutls-dev >>> - libgtk-3-dev >>> - libiscsi-dev >>> - liblttng-ust-dev >>> + - liblzo2-dev >>> - libnfs-dev >>> - libncurses5-dev >>> - libnss3-dev >>> - libpixman-1-dev >>> - libpng12-dev >>> - librados-dev >>> + - librdmacm-dev >>> - libsdl1.2-dev >>> - libseccomp-dev >>> + - libsnappy-dev >>> - libspice-protocol-dev >>> - libspice-server-dev >>> - libssh2-1-dev >>> - liburcu-dev >>> - libusb-1.0-0-dev >>> + - libvde-dev >>> - libvte-2.90-dev >>> + - libxen-dev >>> + - nettle-dev >>> - sparse >>> - uuid-dev >>> + - xfslibs-dev >>> >>> # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu >>> # to prevent IRC notifications from forks. This was created using: >>> @@ -162,28 +171,37 @@ matrix: >>> # Build dependencies >>> - libaio-dev >>> - libattr1-dev >>> + - libbluetooth-dev >>> - libbrlapi-dev >>> + - libcap-dev >>> - libcap-ng-dev >>> - libgnutls-dev >>> - libgtk-3-dev >>> - libiscsi-dev >>> - liblttng-ust-dev >>> + - liblzo2-dev >>> - libnfs-dev >>> - libncurses5-dev >>> - libnss3-dev >>> - libpixman-1-dev >>> - libpng12-dev >>> - librados-dev >>> + - librdmacm-dev >>> - libsdl1.2-dev >>> - libseccomp-dev >>> + - libsnappy-dev >>> - libspice-protocol-dev >>> - libspice-server-dev >>> - libssh2-1-dev >>> - liburcu-dev >>> - libusb-1.0-0-dev >>> + - libvde-dev >>> - libvte-2.90-dev >>> + - libxen-dev >>> + - nettle-dev >>> - sparse >>> - uuid-dev >>> + - xfslibs-dev >>> language: generic >>> compiler: none >>> env: >>> >
On 14/06/2017 17:37, Philippe Mathieu-Daudé wrote: > On 06/14/2017 12:07 PM, Paolo Bonzini wrote: >> >> >> On 14/06/2017 05:52, Philippe Mathieu-Daudé wrote: >>> As you said, due to Travis using Ubuntu still not all libs get detected >>> but at least the following: >>> >>> $ ./configure ${CONFIG} >>> -VirtFS support no >>> +VirtFS support yes >>> -bluez support no >>> +bluez support yes >>> -xfsctl support no >>> +xfsctl support yes >>> -lzo support no >>> +lzo support yes >>> -snappy support no >>> +snappy support yes >>> >>> Using debian based docker images on Shippable we also get: >>> >>> -nettle no >>> -nettle kdf no >>> +nettle yes (3.3) >>> +nettle kdf yes >>> -rbd support no >>> +rbd support yes >>> -vde support no >>> +vde support yes >>> -GlusterFS support no >>> +GlusterFS support yes >>> -libnfs support no >>> +libnfs support yes >> >> So this leaves out only rdma and iscsi? >> >> I don't know travis vs. shippable very well, can you provide a similar >> patch to shippable? > > Travis base images are Ubuntu based, as said Peter "some of our > dependencies need versions that are closer to the bleeding edge than > those distros provide". Well, trusty is 3 years old by now... I wouldn't call that bleeding edge, and it seems like Travis is suggesting using Docker images for those who want to use a newer distro. This patch and patch 2 are useful, but I think I'd rather get full coverage, either with Shippable or by keeping on doing manual builds, than to rush things and switch to CI when it's not ready. First, I don't think it's accurate to say that scans have been often weeks or months apart: #days #commits 2017-06-05 4 123 2017-06-01 14 214 2017-05-18 3 108 2017-05-15 8 262 2017-05-07 12 149 2017-04-25 24 317 2017-04-01 4 47 2017-03-28 7 86 2017-03-21 4 35 2017-03-17 1 29 2017-03-16 2 107 2017-03-14 5 42 2017-03-09 0 180 2017-03-09 6 0 (updated model file) 2017-03-03 4 347 2017-02-27 6 198 2017-02-21 1 62 2017-02-20 0 69 2017-02-20 4 0 (updated model file) Until Coverity bumped the maximum frequency of builds, we were doing scans pretty much as fast as we were allowed to (1 per week I think): 2017-02-16 13 148 2017-02-03 9 298 2017-01-25 7 283 2017-01-18 14 464 2017-01-04 49 230 2016-11-16 9 275 2016-11-07 14 504 2016-10-24 14 243 2016-10-10 10 190 2016-09-30 In the last eight months, there was exactly one case where the builds were more than one month apart and one more case where the builds were more than two weeks apart. Both of them coincided with the two most recent hard freeze periods (2.8 and 2.9). Second, I don't even think that CI is particularly useful when someone must actively consume those scans: triage newly-reported defects, inform the authors of the patch, and so on. Too many Coverity reports can be a burden because you cannot use e.g. the "All newly detected" view. Of course I'm all for making Coverity builds more accessible to people with the project token, through better scripts and possibly integration with the Docker testing targets. Paolo
On 14 June 2017 at 17:49, Paolo Bonzini <pbonzini@redhat.com> wrote: > Well, trusty is 3 years old by now... I wouldn't call that bleeding > edge, and it seems like Travis is suggesting using Docker images for > those who want to use a newer distro. This patch and patch 2 are > useful, but I think I'd rather get full coverage, either with Shippable > or by keeping on doing manual builds, than to rush things and switch to > CI when it's not ready. Yes, I overall agree that we maybe don't want to use Travis for this, but I would like us to automate it somehow. (I was about 50/50 on whether to tag the patchset as RFC.) > First, I don't think it's accurate to say that scans have been often > weeks or months apart: > > #days #commits > 2017-06-05 4 123 > 2017-06-01 14 214 > 2017-05-18 3 108 > 2017-05-15 8 262 > 2017-05-07 12 149 > 2017-04-25 24 317 Yes, but this one (I think) only happened because I got fed up enough of the build being out of date to go and find out how to rebuild it and do an upload. I think I also did the 1st June one by hand, maybe? The reason I put this patch set together is because I didn't want to have to do a manual build a third time :-) > In the last eight months, there was exactly one case where the builds > were more than one month apart and one more case where the builds were > more than two weeks apart. Both of them coincided with the two most > recent hard freeze periods (2.8 and 2.9). I'm more likely to look at coverity during freeze periods than less, because bugs coverity notices are more likely than not to be candidates for being worth fixing before releases, and I don't have my plate full with feature work. So I'd rather have the build be as up to date as possible during a release so we can catch any bugs that snuck in before we hit the last release candidate. > Second, I don't even think that CI is particularly useful when someone > must actively consume those scans: triage newly-reporte defects, inform > the authors of the patch, and so on. Too many Coverity reports can be a > burden because you cannot use e.g. the "All newly detected" view. You can do triage at any frequency you want, because bugs stay in the "new" state until you move them, whether they were detected in the most recent scan or not. Conversely, if we don't do scans very frequently then the "outstanding defects" view gets hard to use because it's still showing things we've already fixed and isn't showing new things we've introduced but not scanned yet. thanks -- PMM
On 14/06/2017 19:04, Peter Maydell wrote: > On 14 June 2017 at 17:49, Paolo Bonzini <pbonzini@redhat.com> wrote: >> Well, trusty is 3 years old by now... I wouldn't call that bleeding >> edge, and it seems like Travis is suggesting using Docker images for >> those who want to use a newer distro. This patch and patch 2 are >> useful, but I think I'd rather get full coverage, either with Shippable >> or by keeping on doing manual builds, than to rush things and switch to >> CI when it's not ready. > > Yes, I overall agree that we maybe don't want to use Travis > for this, but I would like us to automate it somehow. > (I was about 50/50 on whether to tag the patchset as RFC.) > >> First, I don't think it's accurate to say that scans have been often >> weeks or months apart: >> >> #days #commits >> 2017-06-05 4 123 >> 2017-06-01 14 214 >> 2017-05-18 3 108 >> 2017-05-15 8 262 >> 2017-05-07 12 149 >> 2017-04-25 24 317 > > Yes, but this one (I think) only happened because I got fed > up enough of the build being out of date to go and find out > how to rebuild it and do an upload. I think I also did the > 1st June one by hand, maybe? Yes, that one I was super-busy (and travelling until April 16). On June 1 and June 12 we crossed, you did one at the same time as me but you must have faster internet uplink (not hard :)). > I'm more likely to look at coverity during freeze periods > than less, because bugs coverity notices are more likely > than not to be candidates for being worth fixing before > releases, and I don't have my plate full with feature work. > So I'd rather have the build be as up to date as possible > during a release so we can catch any bugs that snuck in > before we hit the last release candidate. Understood, on the other hand during freeze periods it's easier to look at what went in and see how safe it is. > Conversely, if we don't do scans very frequently then the > "outstanding defects" view gets hard to use because it's > still showing things we've already fixed and isn't showing > new things we've introduced but not scanned yet. The beauty of doing manual scans is that you can do them when that pull request with lots of Coverity fixes has just gone in. :) Seriously, I didn't think frequency was a problem and we must have different workflows. I rely more on "all newly detected"/"all newly fixed" than on the "new" state, because that can more easily show problems in the build environment, though admittedly a more reproducible scan recipe makes that less relevant. Paolo
On 14 June 2017 at 17:49, Paolo Bonzini <pbonzini@redhat.com> wrote: > This patch and patch 2 are > useful, but I think I'd rather get full coverage, either with Shippable > or by keeping on doing manual builds, than to rush things and switch to > CI when it's not ready. I agree with this, so is there a path forwards where we get patch 2 into a shape where we can commit it and you switch to using it for the manual uploads, (and maybe eventually we have Shippable do it, but at least we have a reproducible way for somebody other than you to do it if needed) ? I think for that we should update the comments at the top to delete the bit that says "primary purpose is for travis". I think we should also make the configure line include --enable-foo for all the features we currently test, so that if somebody tries to run it on a machine with missing dependencies they get a configure error rather than silently uploading with reduced coverage. Can you suggest a set of --enable-foo flags which give us the coverage we're getting currently with the machine you do the manual runs on? thanks -- PMM
diff --git a/.travis.yml b/.travis.yml index 27a2d9c..26dabb6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,28 +11,37 @@ addons: # Build dependencies - libaio-dev - libattr1-dev + - libbluetooth-dev - libbrlapi-dev + - libcap-dev - libcap-ng-dev - libgnutls-dev - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev + - liblzo2-dev - libnfs-dev - libncurses5-dev - libnss3-dev - libpixman-1-dev - libpng12-dev - librados-dev + - librdmacm-dev - libsdl1.2-dev - libseccomp-dev + - libsnappy-dev - libspice-protocol-dev - libspice-server-dev - libssh2-1-dev - liburcu-dev - libusb-1.0-0-dev + - libvde-dev - libvte-2.90-dev + - libxen-dev + - nettle-dev - sparse - uuid-dev + - xfslibs-dev # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu # to prevent IRC notifications from forks. This was created using: @@ -162,28 +171,37 @@ matrix: # Build dependencies - libaio-dev - libattr1-dev + - libbluetooth-dev - libbrlapi-dev + - libcap-dev - libcap-ng-dev - libgnutls-dev - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev + - liblzo2-dev - libnfs-dev - libncurses5-dev - libnss3-dev - libpixman-1-dev - libpng12-dev - librados-dev + - librdmacm-dev - libsdl1.2-dev - libseccomp-dev + - libsnappy-dev - libspice-protocol-dev - libspice-server-dev - libssh2-1-dev - liburcu-dev - libusb-1.0-0-dev + - libvde-dev - libvte-2.90-dev + - libxen-dev + - nettle-dev - sparse - uuid-dev + - xfslibs-dev language: generic compiler: none env:
Update the travis list of library packages to install so that our build tests cover more of our code base. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- .travis.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.7.4