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

Felipe Sateler fsateler at debian.org
Wed Apr 15 08:43:19 PDT 2015

On 15 April 2015 at 12:16, Tanu Kaskinen <tanu.kaskinen at linux.intel.com> 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?

It can be configured via the travis.yml file. See for example the
csound file, which also includes coverity integration (I planned to
add that as a follow up patch)[1]. I can re-post this patch pointing
notifications to this list.

By default travis sends a mail whenever the build breaks, and when the
build is fixed after a break. It sends the mail to the commit author,
if the author has write access to the github repository (to prevent
github forks from mailing the upstream authors). More information at

[1] https://github.com/csound/csound/blob/develop/.travis.yml
[2] http://docs.travis-ci.com/user/notifications/

>> ---
>>  .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)?

The edit-try loop is fairly slow since you have to wait for the travis
build to happen, which is why I didn't attempt to prune the list.
But some reasons for installing packages explicitly:

1. Not in build-dep (git-core, check)
2. Version upgrade after adding the trusty repositories. The build
failed if I didn't upgrade the autotools before building (not sure
3. Me being lazy. dh-autoreconf is not used but I know it brings in
all the required deps for running autotools (we use that in the debian

Some pruning may be possible, but perhaps it is better to scrap the
build-dep and be explicit on what is depended upon.


Felipe Sateler

More information about the pulseaudio-discuss mailing list