summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: f57727ecadb357ed0e035cf813bc9afea7be2d37 (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

# TODO: add IBM builds when we find CMake for them
#       add PowerPC builds when sqlite3 crashing is fixed

jobs:
  include:
    # ARM workers are the slowest. Having these first in the build matrix makes travis faster overall.
    - name: "Clang 6.0 - Debug"
      arch: arm64
      compiler: clang
      before_install:
        - wget --output-document=${HOME}/CMake http://anaconda.org/conda-forge/cmake/3.17.0/download/linux-aarch64/cmake-3.17.0-h28c56e5_0.tar.bz2
        - tar --extract --one-top-level=${HOME}/SeeMake --file ${HOME}/CMake
        - export PATH=${HOME}/SeeMake/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
        - wget --output-document=${HOME}/CMake http://cmake.org/files/v3.17/cmake-3.17.2-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: *Release

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

    - name: "GCC 7.4 - Release, CMake 3.12, 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.4 - 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