reactphysics3d/.travis.yml

262 lines
7.7 KiB
YAML
Raw Normal View History

language: cpp
2018-04-10 18:37:38 +00:00
install:
2018-04-11 05:11:25 +00:00
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install valgrind; fi
2018-04-10 18:37:38 +00:00
2017-07-03 20:01:36 +00:00
matrix:
2018-04-06 05:17:48 +00:00
# ----- Linux / GCC -----
2017-07-03 20:01:36 +00:00
include:
- os: linux
2020-05-13 20:10:47 +00:00
name: "Linux / GCC (Debug)"
2017-07-03 20:01:36 +00:00
addons:
2017-07-03 21:32:52 +00:00
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2017-07-03 20:01:36 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:10:47 +00:00
name: "Linux / GCC (Release)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:17:48 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Debug, Double Precision)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:17:48 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Release, Double Precision)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:17:48 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
2018-04-06 05:41:25 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Debug, Profiler)"
2018-04-06 05:41:25 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:41:25 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" Profiler="True"
2018-04-06 05:41:25 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Release, Profiler)"
2018-04-06 05:41:25 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:41:25 +00:00
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False" Profiler="True"
2018-04-06 05:41:25 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Release, Code Coverage)"
2018-04-06 05:41:25 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-06 05:41:25 +00:00
- lcov
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Release" DOUBLE_PRECISION="False" CODE_COVERAGE="True"
2018-04-09 16:46:19 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / GCC (Debug, Valgrind)"
2018-04-09 16:46:19 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
2020-05-13 20:03:14 +00:00
- g++-8
2018-04-09 16:46:19 +00:00
- valgrind
env:
2020-05-13 20:03:14 +00:00
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" VALGRIND="True"
2017-07-03 20:01:36 +00:00
2020-05-13 19:31:31 +00:00
# This is commented until Travis fixes this issue with GCC install in OSX: https://github.com/travis-ci/travis-ci/issues/8826
2018-04-06 05:17:48 +00:00
# ----- OS X / GCC -----
2020-05-13 21:05:46 +00:00
- os: osx
2020-05-13 21:21:59 +00:00
osx_image: xcode11
env:
2020-05-13 22:04:01 +00:00
- MATRIX_EVAL="brew install gcc@8 && CC=gcc-8 && CXX=g++-8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
2020-05-13 21:21:59 +00:00
2020-05-13 19:31:31 +00:00
#- os: osx
# osx_image: xcode9.3
# env:
# - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
#- os: osx
# osx_image: xcode9.3
# env:
# - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
#- os: osx
# osx_image: xcode9.3
# env:
# - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
#- os: osx
# osx_image: xcode9.3
# env:
# - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" PROFILER="True"
#- os: osx
# osx_image: xcode9.3
# env:
# - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" PROFILER="True"
2017-07-03 20:23:01 +00:00
2018-04-06 05:17:48 +00:00
# ----- Linux / Clang -----
2017-07-03 20:23:01 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Debug)"
2017-07-03 20:23:01 +00:00
addons:
2017-07-03 20:01:36 +00:00
apt:
sources:
2018-04-05 05:09:37 +00:00
- ubuntu-toolchain-r-test
2018-04-05 05:40:01 +00:00
- llvm-toolchain-precise-3.8
2017-07-03 20:01:36 +00:00
packages:
2018-04-05 05:40:01 +00:00
- clang-3.8
- g++-7
2017-07-03 20:01:36 +00:00
env:
2018-04-05 15:42:47 +00:00
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Release)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
2018-04-05 15:42:47 +00:00
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Debug, Double Precision)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
2018-04-05 15:42:47 +00:00
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
2018-04-06 05:17:48 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Release, Double Precision)"
2018-04-06 05:17:48 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
2018-04-05 15:42:47 +00:00
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True"
2018-04-06 05:41:25 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Debug, Double Precision, Profiler)"
2018-04-06 05:41:25 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" PROFILER="True"
2018-04-06 05:41:25 +00:00
- os: linux
2020-05-13 20:44:46 +00:00
name: "Linux / Clang (Release, Double Precision, Profiler)"
2018-04-06 05:41:25 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
- g++-7
env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True" PROFILER="True"
2017-07-03 20:23:01 +00:00
2018-04-06 05:17:48 +00:00
# ----- OS X / Clang -----
2017-07-03 20:23:01 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Debug)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-05 15:42:47 +00:00
env:
- BUILD_TYPE="Debug" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Release)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-06 05:17:48 +00:00
env:
2018-04-05 15:42:47 +00:00
- BUILD_TYPE="Release" DOUBLE_PRECISION="False"
2018-04-06 05:17:48 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Debug, Double Precision)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-06 05:17:48 +00:00
env:
2018-04-05 15:42:47 +00:00
- BUILD_TYPE="Debug" DOUBLE_PRECISION="True"
2018-04-06 05:17:48 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Release, Double Precision)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-06 05:17:48 +00:00
env:
2018-04-05 15:42:47 +00:00
- BUILD_TYPE="Release" DOUBLE_PRECISION="True"
2017-07-03 20:01:36 +00:00
2018-04-06 05:41:25 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Debug, Profiler)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-06 05:41:25 +00:00
env:
2020-05-13 20:44:46 +00:00
- BUILD_TYPE="Debug" DOUBLE_PRECISION="False" PROFILER="True"
2018-04-06 05:41:25 +00:00
- os: osx
2020-05-13 20:44:46 +00:00
name: "OS X / Clang (Release, Profiler)"
2020-05-13 19:39:23 +00:00
osx_image: xcode11
2018-04-06 05:41:25 +00:00
env:
2020-05-13 20:44:46 +00:00
- BUILD_TYPE="Release" DOUBLE_PRECISION="False" PROFILER="True"
2018-04-06 05:41:25 +00:00
2017-07-03 20:01:36 +00:00
before_install:
2017-07-03 20:23:01 +00:00
- eval "${MATRIX_EVAL}"
2018-04-06 05:17:48 +00:00
branches:
only:
- master
- develop
2018-04-06 05:17:48 +00:00
script:
2018-04-06 05:23:51 +00:00
- mkdir build_directory
- cd build_directory
- cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} —DRP3D_DOUBLE_PRECISION_ENABLED=${DOUBLE_PRECISION} -DRP3D_COMPILE_TESTS=True -DRP3D_PROFILING_ENABLED=${PROFILER} -DRP3D_CODE_COVERAGE_ENABLED=${CODE_COVERAGE} ../
2020-05-13 21:52:57 +00:00
- make -j2 && make test ARGS="-V"
2018-04-09 19:57:42 +00:00
- if [ "${VALGRIND}" == "True" ]; then
2018-04-11 05:11:25 +00:00
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --error-exitcode=1 test/tests;
2018-04-09 16:46:19 +00:00
fi
2018-04-06 05:41:25 +00:00
after_success:
# Generate code coverage report
2018-04-06 15:32:53 +00:00
- if [ "${CODE_COVERAGE}" == "True" ]; then
2018-04-11 15:19:41 +00:00
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports";
2018-04-06 15:32:53 +00:00
fi