diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 94 |
1 files changed, 60 insertions, 34 deletions
diff --git a/.travis.yml b/.travis.yml index 1172955be0..70b9f9a34a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,35 +1,44 @@ language: c++ + matrix: include: - # - os: linux - # dist: trusty - # sudo: required - # compiler: gcc - + - os: linux + dist: xenial + sudo: required + compiler: gcc - os: osx compiler: clang -# install dependencies + +git: + depth: 1 + +services: + # Virtual X is needed for analyzer waveform tests + - xvfb + addons: apt: sources: - ubuntu-toolchain-r-test packages: - - gdb - libavformat-dev - libchromaprint-dev - libfaad-dev - libflac-dev - libid3tag0-dev + - liblilv-dev - libmad0-dev - libmodplug-dev - libmp3lame-dev - libmp4v2-dev + - libopus-dev - libopusfile-dev - libportmidi-dev - libprotobuf-dev - libqt5opengl5-dev - libqt5sql5-sqlite - libqt5svg5-dev + - libqt5x11extras5-dev - librubberband-dev - libshout3-dev - libsndfile1-dev @@ -44,57 +53,74 @@ addons: - qt5-default - qtdeclarative5-dev - qtscript5-dev - - libqt5x11extras5-dev + - qt5keychain-dev - scons - - qtkeychain-dev - - liblilv-dev -before_install: - # Virtual X, needed for analyzer waveform tests - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0 ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install scons portaudio libsndfile libogg libvorbis portmidi taglib libshout protobuf flac ffmpeg qt chromaprint rubberband libmodplug libid3tag libmad mp4v2 faad2 wavpack opusfile lilv lame sound-touch; fi + homebrew: + update: true + packages: + - chromaprint + - faad2 + - ffmpeg + - flac + - lame + - libsndfile + - libogg + - libvorbis + - libshout + - libmodplug + - libid3tag + - libmad + - lilv + - mp4v2 + - opusfile + - portaudio + - portmidi + - protobuf + - qt5 + - rubberband + - scons + - sound-touch + - taglib + - wavpack install: - #### - # Common - # Build flags common to OS X and Linux. # Parallel builds are important for avoiding OSX build timeouts. # We turn off verbose output to avoid going over the 4MB output limit. - - export COMMON="-j4 test=1 mad=1 faad=1 ffmpeg=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0" - - ##### - # Ubuntu Trusty Build + # TODO(2019-07-21): Add "ffmpeg=1" if FFmpeg 4.x becomes available in Ubuntu + - export COMMON_FLAGS="-j4 test=1 mad=1 faad=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0" - #### - # OS X Build + # Ubuntu Xenial build prerequisites + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then export EXTRA_FLAGS="localecompare=1"; fi # Define QTDIR. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export QTDIR=$(find /usr/local/Cellar/qt -d 1 | tail -n 1) ; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export QTDIR=$(find /usr/local/Cellar/qt -d 1 | tail -n 1); fi # Workaround for bug in libopus's opus.h including <opus_multistream.h> # instead of <opus/opus_multistream.h>. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXXFLAGS="-isystem /usr/local/include/opus" ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CFLAGS="-isystem /usr/local/include/opus" ; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export CXXFLAGS="-isystem /usr/local/include/opus"; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export CFLAGS="-isystem /usr/local/include/opus"; fi # NOTE(rryan): 2016-11-15 we are experiencing Travis timeouts for the OSX # build. Turning off optimizations to see if that speeds up compile times. # TODO(rryan): localecompare doesn't work on Travis with qt5 for some reason. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRA_FLAGS="optimize=none asan=0 localecompare=0" ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export EXTRA_FLAGS="localecompare=1" ; fi + # TODO(2019-07-21): Move "ffmpeg=1" into COMMON_FLAGS if FFmpeg 4.x becomes available in Ubuntu + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export EXTRA_FLAGS="ffmpeg=1 optimize=none asan=0 localecompare=0"; fi + + - scons $COMMON_FLAGS $EXTRA_FLAGS - #### - # Common Build - - scons $COMMON $EXTRA_FLAGS +before_script: + # Virtual X (Xvfb) is needed for analyzer waveform tests + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0; fi script: # NOTE(sblaisot): 2018-01-02 removing gdb wrapper on linux due to a bug in # return code in order to avoid having a successful build when a test fail. # https://bugs.launchpad.net/mixxx/+bug/1699689 - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./mixxx-test ; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then ./mixxx-test; fi # lldb doesn't provide an easy way to exit 1 on error: # https://bugs.llvm.org/show_bug.cgi?id=27326 - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then lldb ./mixxx-test --batch -o run -o quit -k 'thread backtrace all' -k "script import os; os._exit(1)" ; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then lldb ./mixxx-test --batch -o run -o quit -k 'thread backtrace all' -k "script import os; os._exit(1)"; fi notifications: webhooks: |