summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 2d042c22cef79dcc795db541cfadd29c53da9149 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
language: c++


# 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.
# TODO(2019-07-21): Add "ffmpeg=1" if FFmpeg 4.x becomes available in Ubuntu
env:
  global:
    - SCONS_MIXXX_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"

jobs:
  include:
    - name: qsscheck
      os: linux
      dist: xenial
      before_install:
        - pip3 install tinycss
      script:
        - ./scripts/qsscheck.py .
      addons:
        apt:
          packages:
            - python3
            - python3-pip
            - python3-pyqt5
            - python3-setuptools
            - python3-wheel

    - name: Ubuntu/gcc/SCons build
      os: linux
      dist: xenial
      compiler: gcc
      # Ubuntu Xenial build prerequisites
      env: SCONS_MIXXX_EXTRA_FLAGS="localecompare=1"
      install:
        - scons $SCONS_MIXXX_COMMON_FLAGS $SCONS_MIXX_EXTRA_FLAGS
      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
        - ./mixxx-test

    - name: OSX/clang/SCons build
      os: osx
      compiler: clang
      # Workaround for bug in libopus's opus.h including <opus_multistream.h>
      # instead of <opus/opus_multistream.h>.
      # Virtual X (Xvfb) is needed for analyzer waveform tests
      env: >-
        CFLAGS="-isystem /usr/local/include/opus"
        CXXFLAGS="-isystem /usr/local/include/opus"
        DISPLAY=:99.0
      before_install:
      - export QTDIR="$(find /usr/local/Cellar/qt -d 1 | tail -n 1)"
      - echo "QTDIR=$QTDIR"
      install:
        - scons $SCONS_MIXXX_COMMON_FLAGS $SCONS_MIXXX_EXTRA_FLAGS
      script:
        # lldb doesn't provide an easy way to exit 1 on error:
        # https://bugs.llvm.org/show_bug.cgi?id=27326
        - lldb ./mixxx-test --batch -o run -o quit -k 'thread backtrace all' -k "script import os; os._exit(1)"

git:
  depth: 1

services:
  # Virtual X is needed for analyzer waveform tests
  - xvfb

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
    packages:
      - 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
      - libsoundtouch-dev
      - libsqlite3-dev
      - libtag1-dev
      - libupower-glib-dev
      - libusb-1.0-0-dev
      - libwavpack-dev
      - portaudio19-dev
      - protobuf-compiler
      - qt5-default
      - qtscript5-dev
      - qt5keychain-dev
      - scons
  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


notifications:
  webhooks:
    - https://mixxx.zulipchat.com/api/v1/external/travis?stream=travis&topic=build-status&api_key=$ZULIP_API_KEY