Merge branch 'master' into feature/pytest
[aubio.git] / .travis.yml
1 language: python
2
3 matrix:
4   include:
5     - python: 3.5
6       os: linux
7       compiler: gcc
8     - python: 3.4
9       os: linux
10       compiler: gcc
11     - python: 2.7
12       os: linux
13       compiler: gcc
14     - python: 3.5
15       os: linux
16       compiler: gcc
17       env: CFLAGS="-Os" WAFOPTS="--disable-samplerate --disable-sndfile"
18     - python: 3.4
19       os: linux
20       compiler: gcc
21       env: HAVE_AUBIO_DOUBLE=1 CFLAGS="-O3" WAFOPTS="--enable-fftw3"
22     - python: 2.7
23       os: linux
24       compiler: gcc
25       env: CFLAGS="`dpkg-buildflags --get CFLAGS`" LDFLAGS="`dpkg-buildflags --get LDFLAGS`"
26     - language: C
27       os: osx
28       compiler: clang
29     - language: C
30       os: osx
31       compiler: clang
32       env: CFLAGS="-Os" HAVE_AUBIO_DOUBLE=1 WAFOPTS="--disable-accelerate"
33     - language: C
34       os: osx
35       compiler: clang
36       env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
37     - language: C
38       os: osx
39       compiler: clang
40       env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
41     - language: C
42       os: osx
43       compiler: clang
44       env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
45
46 # use trusty
47 dist: trusty
48 sudo: required
49
50 addons:
51   apt:
52     packages:
53     - bzip2
54     - libavcodec-dev
55     - libavformat-dev
56     - libavresample-dev
57     - libavutil-dev
58     - libsndfile1-dev
59     - libsamplerate-dev
60     - libjack-dev
61     - libasound2-dev
62     - libfftw3-dev
63     - sox
64     - lcov
65   homebrew:
66     packages:
67     - sox
68     - ffmpeg
69     - libsndfile
70     - lcov
71     #update: true
72
73 before_install:
74    - |
75      if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
76        export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
77      fi;
78
79 install:
80   - |
81     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
82       alias pip=pip2
83     fi;
84   - travis_retry pip install --upgrade pip
85   - travis_retry make getwaf expandwaf deps_python
86   - which pip
87   - pip --version
88   - pip install coverage
89
90 script:
91   - make create_test_sounds
92   - |
93     if [[ -z "$AUBIO_NOTESTS" ]]; then
94       make test_lib_python_clean
95       make coverage
96     else
97       make test_lib_only_clean
98     fi;
99
100 after_success:
101   - |
102     if [[ -z "$AUBIO_NOTESTS" ]]; then
103       # upload to codecov
104       bash <(curl -s https://codecov.io/bash)
105     fi
106
107 notifications:
108     irc:
109         channels:
110             - "irc.freenode.org#aubio"
111         use_notice: true
112     webhooks:
113         urls:
114             - https://webhooks.gitter.im/e/81e7733a5b1d977854b4
115         on_success: change  # options: [always|never|change] default: always
116         on_failure: always  # options: [always|never|change] default: always
117         on_start: never     # options: [always|never|change] default: always