blob: 6d7ccde7430d06719cf3284be5e59f8dbcdbb22f [file] [log] [blame]
Christopher Dunnda498592015-04-18 18:24:46 -07001# Build matrix / environment variables are explained on:
Baptiste Lepilleur5fff1852013-05-08 22:04:57 +00002# http://about.travis-ci.org/docs/user/build-configuration/
Jordan Bayles408b4662019-06-25 14:27:26 -07003# 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
Hans Johnsonfa61a492019-01-11 15:13:10 -06007language: cpp
8sudo: false
Christopher Dunnf4e6fcc2015-07-11 14:06:18 -05009addons:
Hans Johnsonfa61a492019-01-11 15:13:10 -060010 homebrew:
Hans Johnson10a1a382019-01-12 08:54:50 -060011 packages:
Jordan Baylesf34bf242019-10-11 11:19:00 -070012 - clang-format
Hans Johnson10a1a382019-01-12 08:54:50 -060013 - meson
14 - ninja
Hans Johnsonfa61a492019-01-11 15:13:10 -060015 update: false # do not update homebrew by default
Christopher Dunnf4e6fcc2015-07-11 14:06:18 -050016 apt:
17 sources:
Jordan Bayles408b4662019-06-25 14:27:26 -070018 - ubuntu-toolchain-r-test
19 - llvm-toolchain-xenial-8
Christopher Dunnf4e6fcc2015-07-11 14:06:18 -050020 packages:
Jordan Baylesf34bf242019-10-11 11:19:00 -070021 - clang-format-8
Jordan Bayles408b4662019-06-25 14:27:26 -070022 - clang-8
Christopher Dunnd8e8c142015-07-11 14:09:52 -050023 - valgrind
Christopher Dunnda498592015-04-18 18:24:46 -070024matrix:
Christopher Dunnda498592015-04-18 18:24:46 -070025 include:
Hans Johnsona3c8e862019-01-12 12:32:15 -060026 - name: Mac clang meson static release testing
27 os: osx
Jordan Baylesf34bf242019-10-11 11:19:00 -070028 osx_image: xcode11
Christopher Dunnda498592015-04-18 18:24:46 -070029 compiler: clang
Jordan Bayles408b4662019-06-25 14:27:26 -070030 env:
31 CXX="clang++"
32 CC="clang"
Hans Johnsona3c8e862019-01-12 12:32:15 -060033 LIB_TYPE=static
34 BUILD_TYPE=release
35 script: ./.travis_scripts/meson_builder.sh
Jordan Bayles2690bc92019-06-25 14:48:40 -070036 - name: Linux xenial clang meson static release testing
Hans Johnsona3c8e862019-01-12 12:32:15 -060037 os: linux
Jordan Bayles408b4662019-06-25 14:27:26 -070038 dist: xenial
Christopher Dunnda498592015-04-18 18:24:46 -070039 compiler: clang
Jordan Bayles408b4662019-06-25 14:27:26 -070040 env:
41 CXX="clang++"
42 CC="clang"
Hans Johnsona3c8e862019-01-12 12:32:15 -060043 LIB_TYPE=static
44 BUILD_TYPE=release
Christopher Dunn1664b6b2020-10-10 09:06:43 -050045 PYTHONUSERBASE="$(pwd)/LOCAL"
46 PATH="$PYTHONUSERBASE/bin:$PATH"
Hans Johnsona3c8e862019-01-12 12:32:15 -060047 # 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
Jordan Bayles2690bc92019-06-25 14:48:40 -070053 - name: Linux xenial gcc cmake coverage
Hans Johnsona3c8e862019-01-12 12:32:15 -060054 os: linux
55 dist: xenial
56 compiler: gcc
Jordan Bayles408b4662019-06-25 14:27:26 -070057 env:
Hans Johnsona3c8e862019-01-12 12:32:15 -060058 CXX=g++
59 CC=gcc
60 DO_Coverage=ON
61 BUILD_TOOL="Unix Makefiles"
Jordan Bayles408b4662019-06-25 14:27:26 -070062 BUILD_TYPE=Debug
63 LIB_TYPE=shared
Hans Johnsona3c8e862019-01-12 12:32:15 -060064 DESTDIR=/tmp/cmake_json_cpp
dota17f59ac2a2019-10-18 01:46:41 +080065 before_install:
66 - pip install --user cpp-coveralls
Hans Johnsona3c8e862019-01-12 12:32:15 -060067 script: ./.travis_scripts/cmake_builder.sh
dota17f59ac2a2019-10-18 01:46:41 +080068 after_success:
69 - coveralls --include src/lib_json --include include
Baptiste Lepilleur10712e82013-05-08 21:23:52 +000070notifications:
Christopher Dunn658fa372015-07-12 09:53:40 -050071 email: false