summaryrefslogtreecommitdiffstats
path: root/src/googletest/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/googletest/.travis.yml')
-rw-r--r--src/googletest/.travis.yml65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/googletest/.travis.yml b/src/googletest/.travis.yml
new file mode 100644
index 000000000..45a5df822
--- /dev/null
+++ b/src/googletest/.travis.yml
@@ -0,0 +1,65 @@
+# Build matrix / environment variable are explained on:
+# https://docs.travis-ci.com/user/customizing-the-build/
+# This file can be validated on:
+# http://lint.travis-ci.org/
+
+language: cpp
+
+# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
+# It is more tedious, but grants us far more flexibility.
+matrix:
+ include:
+ - os: linux
+ before_install: chmod -R +x ./ci/*platformio.sh
+ install: ./ci/install-platformio.sh
+ script: ./ci/build-platformio.sh
+ - os: linux
+ dist: bionic
+ compiler: gcc
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ dist: bionic
+ compiler: clang
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ dist: bionic
+ compiler: gcc
+ env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated"
+ - os: linux
+ dist: bionic
+ compiler: clang
+ env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
+ - os: osx
+ osx_image: xcode12.2
+ compiler: gcc
+ env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
+ - os: osx
+ osx_image: xcode12.2
+ compiler: clang
+ env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
+
+# These are the install and build (script) phases for the most common entries in the matrix. They could be included
+# in each entry in the matrix, but that is just repetitive.
+install:
+ - ./ci/install-${TRAVIS_OS_NAME}.sh
+ - . ./ci/env-${TRAVIS_OS_NAME}.sh
+ - ./ci/log-config.sh
+
+script: ./ci/travis.sh
+
+# This section installs the necessary dependencies.
+addons:
+ apt:
+ packages:
+ - g++
+ - clang
+ update: true
+ homebrew:
+ packages:
+ - gcc@10
+ update: true
+
+notifications:
+ email: false