Merge branch 'master' into coveralls
[aubio.git] / .travis.yml
index 9331f05..ee5b1cd 100644 (file)
@@ -2,59 +2,79 @@ language: python
 
 matrix:
   include:
-    - python: 2.7
+    - python: 3.5
       os: linux
       compiler: gcc
-      env: ARCH=x86_64
-    - python: 2.7
-      os: linux
-      compiler: gcc
-      env: ARCH=i386
     - python: 3.4
       os: linux
       compiler: gcc
-      env: ARCH=x86_64
-    - python: 3.4
+    - python: 2.7
       os: linux
       compiler: gcc
-      env: ARCH=i386
-    - language: C
-      os: osx
-      compiler: clang
-      env: ARCH=x86_64
     - language: C
       os: osx
+      osx_image: xcode8
       compiler: clang
-      env: ARCH=i386
-    - python: 2.7
-      os: linux
-      compiler: gcc
-      env: ARCH=x86_64 HAVE_DOUBLE=1
-    - python: 2.7
+    - python: 3.5
       os: linux
       compiler: gcc
-      env: ARCH=i386 HAVE_DOUBLE=1
+      env: CFLAGS="-Os" WAFOPTS="--disable-samplerate --disable-sndfile"
     - python: 3.4
       os: linux
       compiler: gcc
-      env: ARCH=x86_64 HAVE_DOUBLE=1
-    - python: 3.4
+      env: HAVE_AUBIO_DOUBLE=1 CFLAGS="-O3" WAFOPTS="--enable-fftw3"
+    - python: 2.7
       os: linux
       compiler: gcc
-      env: ARCH=i386 HAVE_DOUBLE=1
+      env: CFLAGS="`dpkg-buildflags --get CFLAGS`" LDFLAGS="`dpkg-buildflags --get LDFLAGS`"
     - language: C
       os: osx
+      osx_image: xcode8
       compiler: clang
-      env: ARCH=x86_64 HAVE_DOUBLE=1
+      env: CFLAGS="-Os" HAVE_AUBIO_DOUBLE=1 WAFOPTS="--disable-accelerate"
     - language: C
       os: osx
+      osx_image: xcode8
       compiler: clang
-      env: ARCH=i386 HAVE_DOUBLE=1
+      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
+    - language: C
+      os: osx
+      osx_image: xcode8
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+    - language: C
+      os: osx
+      osx_image: xcode8
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+    - language: C
+      os: osx
+      osx_image: xcode8.2
+      compiler: clang
+      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
+    - language: C
+      os: osx
+      osx_image: xcode8.2
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+    - language: C
+      os: osx
+      osx_image: xcode8.2
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+
+# use trusty
+dist: trusty
+sudo: required
 
 addons:
   apt:
     packages:
     - bzip2
+    - libavcodec-dev
+    - libavformat-dev
+    - libavresample-dev
+    - libavutil-dev
     - libsndfile1-dev
     - libsamplerate-dev
     - libjack-dev
@@ -62,21 +82,45 @@ addons:
     - libfftw3-dev
     - sox
 
+before_install:
+   - |
+     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+       brew update
+       brew install sox
+       brew install ffmpeg
+       brew install libsndfile
+       export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
+     fi;
+
 install:
-  - travis_retry pip install --user nose2
+  - travis_retry pip install --upgrade pip
+  - travis_retry make getwaf expandwaf deps_python
+  - which pip
+  - pip --version
+  - pip install python-coveralls
 
 script:
-  - echo make create_test_sounds disabled for now
-  - make build
-  - make build_python
-  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make test_python; fi
-  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make test_python_osx; fi
-  - make clean_python
-  - make clean
-  - make distcheck
+  - make create_test_sounds
+  - |
+    if [[ -z "$AUBIO_NOTESTS" ]]; then
+      export NOSE2="coverage run --source=aubio `which nose2`"
+      make test_lib_python_clean
+      make test_python_only_clean
+    else
+      make test_lib_only_clean
+    fi;
+
+after_success:
+  - coveralls
 
 notifications:
     irc:
         channels:
             - "irc.freenode.org#aubio"
         use_notice: true
+    webhooks:
+        urls:
+            - https://webhooks.gitter.im/e/81e7733a5b1d977854b4
+        on_success: change  # options: [always|never|change] default: always
+        on_failure: always  # options: [always|never|change] default: always
+        on_start: never     # options: [always|never|change] default: always