[ci] use linux/py3.5 to test --build-type=debug
[aubio.git] / .travis.yml
index ca14dcd..ec4cc9a 100644 (file)
@@ -1,74 +1,56 @@
-language: generic
-
-sudo: required
-ditro: trusty
+language: python
 
 matrix:
   include:
-    - python: 2.7
+    - python: 3.6
       os: linux
       compiler: gcc
-      env: ARCH=x86_64
-    - python: 2.7
+    - python: 3.5
       os: linux
       compiler: gcc
-      env: ARCH=i386
-    - python: 3.4
-      os: linux
-      compiler: gcc
-      env: ARCH=x86_64
-    - python: 3.4
+      env: WAFOPTS="--build-type=debug"
+    - python: 2.7
       os: linux
       compiler: gcc
-      env: ARCH=i386
-    - language: C
-      os: osx
-      compiler: clang
-      env: ARCH=x86_64
-    - language: C
-      os: osx
-      compiler: clang
-      env: ARCH=i386
-    - language: C
-      os: osx
-      compiler: gcc
-      env: ARCH=x86_64
-    - language: C
-      os: osx
-      compiler: gcc
-      env: ARCH=i386
-    - python: 2.7
+    - python: "pypy3.5"
       os: linux
       compiler: gcc
-      env: ARCH=x86_64 HAVE_DOUBLE=1
-    - python: 2.7
+      env: CFLAGS="-Os" WAFOPTS="--disable-avcodec"
+    - python: 3.6
       os: linux
       compiler: gcc
-      env: ARCH=i386 HAVE_DOUBLE=1
-    - python: 3.4
+      env: CFLAGS="-Os" WAFOPTS="--disable-samplerate"
+    - python: 3.5
       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
       compiler: clang
-      env: ARCH=x86_64 HAVE_DOUBLE=1
     - language: C
       os: osx
       compiler: clang
-      env: ARCH=i386 HAVE_DOUBLE=1
+      env: CFLAGS="-Os" HAVE_AUBIO_DOUBLE=1 WAFOPTS="--disable-accelerate"
     - language: C
       os: osx
-      compiler: gcc
-      env: ARCH=x86_64 HAVE_DOUBLE=1
+      compiler: clang
+      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
     - language: C
       os: osx
-      compiler: gcc
-      env: ARCH=i386 HAVE_DOUBLE=1
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+    - language: C
+      os: osx
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+
+# use trusty
+dist: trusty
+sudo: required
 
 addons:
   apt:
@@ -84,19 +66,57 @@ addons:
     - libasound2-dev
     - libfftw3-dev
     - sox
+    - lcov
+  homebrew:
+    packages:
+    - sox
+    - ffmpeg
+    - libsndfile
+    - lcov
+    #update: true
+
+before_install:
+   - |
+     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+       export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
+     fi;
+
+install:
+  - |
+    if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+      alias pip=pip2
+    fi;
+  - travis_retry pip install --upgrade pip
+  - travis_retry make getwaf expandwaf deps_python
+  - which pip
+  - pip --version
+  - pip install coverage
 
 script:
   - make create_test_sounds
-  - 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
+  - |
+    if [[ -z "$AUBIO_NOTESTS" ]]; then
+      make test_lib_python_clean
+      make coverage
+    else
+      make test_lib_only_clean
+    fi;
+
+after_success:
+  - |
+    if [[ -z "$AUBIO_NOTESTS" ]]; then
+      # upload to codecov
+      bash <(curl -s https://codecov.io/bash)
+    fi
 
 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