summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 6f181e22da060eaf8d2a27fca0a5a5fa3e3fb2d7 (plain) (blame)
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
language: cpp
sudo: false

# Use Linux by default
os: linux

matrix:
  include:
    # gcc on arm64
    - compiler: gcc
      arch: arm64
      addons:
        apt:
          packages:
            - ccache
      env: &Debug
        - TRAVIS_CUBERITE_BUILD_TYPE=DEBUG
    # AppleClang
    # OSX workers are slower to start up.  Having these first in the build matrix makes travis faster overall.
    - os: osx
      compiler: clang
      before_install:
        - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
      env: &Release
        - TRAVIS_CUBERITE_BUILD_TYPE=RELEASE
    - os: osx
      compiler: clang
      env: *Debug
      before_install:
        - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
    # Default clang
    - compiler: clang
      env: *Release
    - compiler: clang
      env: *Debug
    # clang 3.5
    - compiler: clang
      dist: trusty
      addons: &clang35
        apt:
          packages:
            - clang++-3.5
            - clang-3.5
      before_install:
        - CC=clang-3.5;CXX=clang++-3.5
      env: *Release
    - compiler: clang
      dist: trusty
      addons: *clang35
      before_install:
        - CC=clang-3.5;CXX=clang++-3.5
      env: *Debug
    # gcc 4.8
    - compiler: gcc
      addons: &gcc48
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-4.8
            - gcc-4.8
      before_install:
        - CC=gcc-4.8;CXX=g++-4.8
      env: *Release
    - compiler: gcc
      addons: *gcc48
      before_install:
        - CC=gcc-4.8;CXX=g++-4.8
      env: *Debug

before_script:
  - export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//')
script: ./travisbuild.sh
cache: ccache


notifications:
  email:
    on_success: change
    on_failure: always
branches:
  only:
    - master