summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 2e6365524a2eacc176078c5d99700d670b99fec1 (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
language: c

matrix:
  include:
    # OSX build comes first because Travis queues builds in order. The OSX
    # builds are often pushed on a very long (100-200 jobs) backlog, so they get
    # highest priority in our build sequence.
    - env: JOB=toxcore ENV=osx RUN_TESTS=false
      os: osx
    - env: JOB=toxcore ENV=osx RUN_TESTS=true
      os: osx
    - env: JOB=hstox ENV=linux
      language: haskell
      ghc: 7.8
    - env: JOB=autotools ENV=linux
      compiler: gcc
    - env: JOB=toxcore ENV=linux
      compiler: clang
    - env: JOB=toxcore ENV=windows ARCH=i686
      services:
        - docker
    - env: JOB=toxcore ENV=windows ARCH=x86_64
      services:
        - docker
  fast_finish: true
  allow_failures:
    - env: JOB=toxcore ENV=osx RUN_TESTS=true

addons:
  apt:
    sources:
      - avsm
    packages:
      - check
      - libcv-dev             # For av_test.
      - libhighgui-dev        # For av_test.
      - libopencv-contrib-dev # For av_test.
      - libsndfile1-dev       # For av_test.
      - libvpx-dev
      - opam                  # For apidsl and Frama-C.
      - portaudio19-dev       # For av_test.
      - texinfo               # For libconfig.

cache:
  directories:
    # Although Travis documentation says not to rely on the value of $HOME, we
    # rely on it here because cabal installs its packages there by default. If
    # that ever changes, these values need to be updated.
    # Note that we can't use shell expressions in these paths, so we can't ask
    # cabal where its data is stored.
    - $HOME/.cabal
    - $HOME/.ghc
    - $HOME/cache

install:       other/travis/phase $JOB $ENV install
script:        other/travis/phase $JOB $ENV script
after_script:  other/travis/phase $JOB $ENV after_script
after_failure: other/travis/phase $JOB $ENV after_failure

notifications:
  irc:
    channels:
      - "chat.freenode.net#toktok-status"
    template:
      - "%{result} %{repository_name} %{build_url}"
      - "#%{build_number} changes: %{compare_url}"


branches:
  only:
    - master