.gitignore: also ignore .eggs and .cache
[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
66 before_install:
67    - |
68      if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
69        brew update
70        brew install sox
71        brew install ffmpeg
72        brew install libsndfile
73        brew install lcov
74        export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
75      fi;
76
77 install:
78   - |
79     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
80       alias pip=pip2
81     fi;
82   - travis_retry pip install --upgrade pip
83   - travis_retry make getwaf expandwaf deps_python
84   - which pip
85   - pip --version
86   - pip install python-coveralls
87   - gem install coveralls-lcov
88
89 script:
90   - make create_test_sounds
91   - |
92     if [[ -z "$AUBIO_NOTESTS" ]]; then
93       make test_lib_python_clean
94       make coverage
95     else
96       make test_lib_only_clean
97     fi;
98
99 after_success:
100   - |
101     if [[ -z "$AUBIO_NOTESTS" ]]; then
102       # upload lcov coverage to coveralls.io
103       coveralls-lcov build/coverage.info
104       # upload python coverage
105       #coveralls
106       # upload to codecov
107       bash <(curl -s https://codecov.io/bash)
108     fi
109
110 notifications:
111     irc:
112         channels:
113             - "irc.freenode.org#aubio"
114         use_notice: true
115     webhooks:
116         urls:
117             - https://webhooks.gitter.im/e/81e7733a5b1d977854b4
118         on_success: change  # options: [always|never|change] default: always
119         on_failure: always  # options: [always|never|change] default: always
120         on_start: never     # options: [always|never|change] default: always