os: linux # Use linux unless specified otherwise. dist: bionic language: cpp jobs: include: - os: linux compiler: g++ addons: apt: sources: - ubuntu-toolchain-r-test - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - g++-9 - bazel env: - CXX_COMPILER=g++-9 CC_COMPILER=gcc-9 - os: linux compiler: g++ addons: apt: sources: - ubuntu-toolchain-r-test - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - g++-10 - bazel env: - CXX_COMPILER=g++-10 CC_COMPILER=gcc-10 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - clang-7 - bazel env: - CXX_COMPILER=clang++-7 CC_COMPILER=clang-7 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - clang-8 - bazel env: - CXX_COMPILER=clang++-8 CC_COMPILER=clang-8 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - clang-9 - bazel env: - CXX_COMPILER=clang++-9 CC_COMPILER=clang-9 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - sourceline: 'deb https://storage.googleapis.com/bazel-apt stable jdk1.8' key_url: 'https://bazel.build/bazel-release.pub.gpg' packages: - clang-10 - bazel env: - CXX_COMPILER=clang++-10 CC_COMPILER=clang-10 - os: osx compiler: clang++ addons: homebrew: packages: - bazel osx_image: xcode10.3 env: - CXX_COMPILER=clang++ CC_COMPILER=clang - os: osx compiler: clang++ addons: homebrew: packages: - bazel osx_image: xcode11.6 env: - CXX_COMPILER=clang++ CC_COMPILER=clang - os: osx compiler: clang++ addons: homebrew: packages: - bazel osx_image: xcode12.2 env: - CXX_COMPILER=clang++ CC_COMPILER=clang install: - export CC=${CC_COMPILER} - export CXX=${CXX_COMPILER} - JOBS=2 # Travis machines have 2 cores. before_script: - rm -rf build - mkdir -p build - cd build script: - cmake -DCMAKE_BUILD_TYPE=Debug .. - cmake --build . --config Debug -- -j${JOBS} - ctest --output-on-failure -C Debug -j${JOBS} - rm -rf ./* - cmake -DCMAKE_BUILD_TYPE=Release .. - cmake --build . --config Release -- -j${JOBS} - ctest --output-on-failure -C Release -j${JOBS} - cd .. - | if command -v bazel &> /dev/null; then bazel test //... --curses no -j ${JOBS} fi notifications: email: false