Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 1 | # Build matrix / environment variables are explained on: |
Elliott Hughes | 1601ea0 | 2021-12-07 09:43:38 -0800 | [diff] [blame] | 2 | # http://about.travis-ci.com/docs/user/build-configuration/ |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 3 | # This file can be validated on: http://www.yamllint.com/ |
| 4 | # Or using the Ruby based travel command line tool: |
| 5 | # gem install travis --no-rdoc --no-ri |
| 6 | # travis lint .travis.yml |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 7 | language: cpp |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 8 | sudo: false |
| 9 | addons: |
| 10 | homebrew: |
| 11 | packages: |
| 12 | - clang-format |
| 13 | - meson |
| 14 | - ninja |
| 15 | update: false # do not update homebrew by default |
| 16 | apt: |
| 17 | sources: |
| 18 | - ubuntu-toolchain-r-test |
| 19 | - llvm-toolchain-xenial-8 |
| 20 | packages: |
| 21 | - clang-format-8 |
| 22 | - clang-8 |
| 23 | - valgrind |
| 24 | matrix: |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 25 | include: |
| 26 | - name: Mac clang meson static release testing |
| 27 | os: osx |
| 28 | osx_image: xcode11 |
| 29 | compiler: clang |
| 30 | env: |
| 31 | CXX="clang++" |
| 32 | CC="clang" |
| 33 | LIB_TYPE=static |
| 34 | BUILD_TYPE=release |
| 35 | script: ./.travis_scripts/meson_builder.sh |
| 36 | - name: Linux xenial clang meson static release testing |
| 37 | os: linux |
| 38 | dist: xenial |
| 39 | compiler: clang |
| 40 | env: |
| 41 | CXX="clang++" |
| 42 | CC="clang" |
| 43 | LIB_TYPE=static |
| 44 | BUILD_TYPE=release |
Elliott Hughes | 1601ea0 | 2021-12-07 09:43:38 -0800 | [diff] [blame] | 45 | PYTHONUSERBASE="$(pwd)/LOCAL" |
| 46 | PATH="$PYTHONUSERBASE/bin:$PATH" |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 47 | # before_install and install steps only needed for linux meson builds |
| 48 | before_install: |
| 49 | - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh |
| 50 | install: |
| 51 | - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh |
| 52 | script: ./.travis_scripts/meson_builder.sh |
| 53 | - name: Linux xenial gcc cmake coverage |
| 54 | os: linux |
| 55 | dist: xenial |
| 56 | compiler: gcc |
| 57 | env: |
| 58 | CXX=g++ |
| 59 | CC=gcc |
| 60 | DO_Coverage=ON |
| 61 | BUILD_TOOL="Unix Makefiles" |
| 62 | BUILD_TYPE=Debug |
| 63 | LIB_TYPE=shared |
| 64 | DESTDIR=/tmp/cmake_json_cpp |
| 65 | before_install: |
| 66 | - pip install --user cpp-coveralls |
| 67 | script: ./.travis_scripts/cmake_builder.sh |
| 68 | after_success: |
| 69 | - coveralls --include src/lib_json --include include |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 70 | notifications: |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 71 | email: false |