summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 6c2dfc2e2d595ed0aefe9e079d4aba5084619fc1 (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
language: cpp
cache:
  ccache: true
  directories:
    # Store ctest cost data
    - Testing

# Use Linux by default
os: linux
dist: bionic

# Install newer SeeMake on Linux
addons:
  snaps:
    - name: cmake
      confinement: classic
      channel: latest

jobs:
  include:
    # ARM workers are the slowest. Having these first in the build matrix makes travis faster overall.
    - name: "Clang 10.0 - Debug"
      arch: arm64
      compiler: clang
      dist: focal # For Clang 10, bionic is Clang 6 for some reason.
      before_install: &use-cmake
        - export PATH=/snap/bin/:${PATH}
      env: *Debug

    - name: "AppleClang - Debug"
      os: osx
      osx_image: xcode11.3
      before_install:
        - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
      env: &Debug
        - TRAVIS_CUBERITE_BUILD_TYPE=Debug

    - name: "Clang 7.0 - Release"
      compiler: clang
      before_install: *use-cmake
      env: *Release

    - name: "Clang 7.0 - Debug"
      compiler: clang
      before_install: *use-cmake
      env: *Debug

    - name: "GCC 7.5 - Release, CMake 3.13, No Unity"
      compiler: gcc
      before_install:
        - wget --output-document=${HOME}/CMake http://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz
        - tar --extract --one-top-level=${HOME}/SeeMake --strip-components 1 --file ${HOME}/CMake
        - export PATH=${HOME}/SeeMake/bin/:${PATH}
      env:
        - TRAVIS_CUBERITE_BUILD_TYPE=Release
        - TRAVIS_CUBERITE_UNITY_BUILDS=No

    - name: "GCC 7.5 - Debug"
      compiler: gcc
      before_install: *use-cmake
      env: *Debug

# Do not let CMake find ccache wrappers
# we use CMAKE_CXX_COMPILER_LAUNCHER for ccache support
before_script:
  - export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//')

# Run the build and tests
script: ./travisbuild.sh

notifications:
  email:
    on_success: change
    on_failure: always

branches:
  only:
    - master