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