[pulseaudio-discuss] [PATCH] Add a .travis.yml for Travis CI

Arun Raghavan arun at accosted.net
Thu Apr 16 06:23:59 PDT 2015


On 16 April 2015 at 18:50, Felipe Sateler <fsateler at debian.org> wrote:
> On 16 April 2015 at 03:24, David Henningsson
> <david.henningsson at canonical.com> wrote:
>>
>>
>> On 2015-04-15 17:16, Tanu Kaskinen wrote:
>>>
>>> On Tue, 2015-04-14 at 20:32 -0300, Felipe Sateler wrote:
>>>>
>>>> From: Arun Raghavan <arun at accosted.net>
>>>>
>>>> Currently uses Ubuntu's build dependencies, and runs make check and
>>>> check-daemon.
>>>>
>>>> Based on Arun Raghavan's travis file. Added trusty repositories to get
>>>> newer libs.
>>>
>>>
>>> If there are failures, where are they reported?
>>>
>>>> ---
>>>>   .travis.yml | 21 +++++++++++++++++++++
>>>>   1 file changed, 21 insertions(+)
>>>>   create mode 100644 .travis.yml
>>>>
>>>>
>>>> For this to be run automatically someone that controls the pulseaudio
>>>> name in github must link the repository to travis.
>>>>
>>>> diff --git a/.travis.yml b/.travis.yml
>>>> new file mode 100644
>>>> index 0000000..a869372
>>>> --- /dev/null
>>>> +++ b/.travis.yml
>>>> @@ -0,0 +1,21 @@
>>>> +language: c
>>>> +
>>>> +compiler:
>>>> +  - gcc
>>>> + #- clang
>>>> +
>>>> +before_install:
>>>> +  - sudo sh -c 'echo "deb http://archive.ubuntu.com/ubuntu/ trusty main
>>>> universe\ndeb-src http://archive.ubuntu.com/ubuntu/ trusty main universe" >>
>>>> /etc/apt/sources.list'
>>>> +  - sudo apt-get -qq update
>>>> +install:
>>>> +  - sudo apt-get -qq build-dep pulseaudio
>>>> +  - sudo apt-get -qq install libcap-dev libjson-c-dev autopoint git-core
>>>> autoconf automake gcc dh-autoreconf check intltool
>>>
>>>
>>> Why is the second command needed? Shouldn't "apt-get build-dep" already
>>> get everything needed (well, except git)?
>>
>>
>> Let's go through them:
>>
>>  * git-core is obviously still needed
>>
>>  * libcap-dev, dh-autoreconf and intltool - they are already direct build
>> dependencies and can be removed
>
> dh-autoreconf is not really needed. But without the explicit install
> step they are not upgraded.
>
>>
>>  * libjson-c-dev, gcc and auto* - indirect build dependencies and can be
>> removed; potentially we could replace "gcc" with "build-essential" but I
>> doubt it's needed
>>  (libjson-c-dev via libjson0-dev, auto* via dh-autoreconf)
>
> Same thing about upgrading. Arun said travis base environment's
> libjson-c was too old.
>
>>
>>  * check - needed if we want travis to run "make check". (We could consider
>> adding a "make check" when we build pulseaudio, it's a trade-off between
>> increased build times and the chance of discovering something - personally I
>> think the risk that make check would actually fail is so low that I wonder
>> if it's worth running it as part of every build)
>
> Perhaps automatically running it would encourage adding more tests :)

I don't like this idea -- it'd just increase build times. We should be
running tests when we intend to, and having CI means that if we forget
to, we'll know the hard way. :-)

-- Arun


More information about the pulseaudio-discuss mailing list