On 16 April 2015 at 14:23, Tanu Kaskinen <tanu.kaskinen at linux.intel.com> wrote: > On Wed, 2015-04-15 at 12:43 -0300, Felipe Sateler wrote: >> 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. > > That sounds good. > >> 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 >> [2]. >> >> [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. > > Can you give a short overview of the edit-try loop? After this is patch > is applied, and Travis does automatic builds, how do contributors test > their changes before submitting a patch, if they want to change this > file? I made a fork on Github and tried changes by pushing them to my fork. >> 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 >> why). > > So "apt-get build-dep" doesn't automatically upgrade all dependencies if > they're already installed? And you didn't want to do a full system > upgrade from 12.04 to 14.04. > >> 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 >> package). >> >> Some pruning may be possible, but perhaps it is better to scrap the >> build-dep and be explicit on what is depended upon. > > Having an explicit list of the build dependencies seems like the best > way forward. I'm not a huge fan of this since we'd have to remember to update the file each time deps change. Using the Ubuntu packaging deps seems more pragmatic. -- Arun