[dpdk-dev] [PATCH v6 1/1] ci: Introduce travis builds for github repositories

Michael Santana Francisco msantana at redhat.com
Thu Mar 21 16:45:27 CET 2019


On 3/20/19 5:11 PM, Luca Boccassi wrote:
> On Wed, 2019-03-20 at 15:28 -0400, Michael Santana Francisco wrote:
>>>> +matrix:
>>>> +  include:
>>>> +  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
>>>> +    compiler: gcc
>>>> +    addons:
>>>> +      apt:
>>>> +        packages:
>>>> +          - [libnuma-dev, linux-headers-$(uname -r), python3-
>>>> setuptools, python3-wheel, python3-pip, ninja-build]
>>>> +          - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]
>>> Why packages are repeated here again?
>>> (sorry, I don't know Travis and I want to understand)
>> Yeah, we don't want to repeat ourselves either but we have no
>> choice.
>> This is due to a limitation in travis.
>> This matrix does not inherit any packages from the main package list
>> way
>> above, which means we have to list them out manually here.
>> In addition to the required packages we also want to install full
>> builds
>> with libraries like libbsd-dev, libpcap-dev, etc.
>> We could of just put those libraries in the main package list above
>> and
>> put all the builds in the env: list because then the libraries would
>> be
>> inherited.
>> The problem with that is that is that travis would not keep minimal
>> builds and full builds separate.
>> We could not have minimal builds because the minimal builds will
>> also
>> inherit the additional libraries; Meson will then automatically
>> detect
>> those additional libraries and builds with them.
>> What we would like to have is a way to tell meson which libraries we
>> want to use and which we dont, instead of being auto-detected. This
>> would help us to get rid of this matrix.
>>
>> If someone knows a better way to do this we would greatly take in
>> your
>> ideas, but so far this is the best we could come up with
> It's yaml so you can write the list to a variable once and reference it
> multiple times for brevity, see for example:
>
> https://github.com/zeromq/czmq/blob/master/.travis.yml#L128
>
Thank you Luca!
I had previously tested this approach and then it wasn't working the way 
I was hoping it would.
I just finished testing it again and it seems to be working correctly 
this time!
I got it working with the required packages in one list and use a 
variable to reference to that list.
Next I will see about having a list for extra packages, and another for 
ARM packages
Again, thank you! Will work on it


More information about the dev mailing list