diff mbox series

[1/3] travis: install more library dependencies

Message ID 1497369290-20401-2-git-send-email-peter.maydell@linaro.org
State Superseded
Headers show
Series Automate coverity scan uploads via Travis | expand

Commit Message

Peter Maydell June 13, 2017, 3:54 p.m. UTC
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

Comments

Philippe Mathieu-Daudé June 14, 2017, 3:52 a.m. UTC | #1
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:

>
Alex Bennée June 14, 2017, 2:45 p.m. UTC | #2
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
Paolo Bonzini June 14, 2017, 3:07 p.m. UTC | #3
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:

>>
Daniel P. Berrangé June 14, 2017, 3:15 p.m. UTC | #4
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 :|
Philippe Mathieu-Daudé June 14, 2017, 3:25 p.m. UTC | #5
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

>
Philippe Mathieu-Daudé June 14, 2017, 3:37 p.m. UTC | #6
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:

>>>

>
Paolo Bonzini June 14, 2017, 4:49 p.m. UTC | #7
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
Peter Maydell June 14, 2017, 5:04 p.m. UTC | #8
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
Paolo Bonzini June 14, 2017, 5:20 p.m. UTC | #9
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
Peter Maydell June 29, 2017, 2:37 p.m. UTC | #10
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 mbox series

Patch

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: