language: cpp cache: ccache: true pip: true matrix: include: ## Makefile builder # Linux, AMD64 - os: linux dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=cc ARCH=amd64 - os: linux dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=python3 ARCH=amd64 - os: linux dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=java ARCH=amd64 - os: linux dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=dotnet ARCH=amd64 # Mac OS X, AMD64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=cc ARCH=amd64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=python3 ARCH=amd64 - os: osx # to get JDK 8 # https://docs.travis-ci.com/user/reference/osx/#jdk-and-macos osx_image: xcode9.3 compiler: clang env: BUILDER=make LANGUAGE=java ARCH=amd64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=dotnet ARCH=amd64 # Linux, PPC64LE - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=cc ARCH=ppc64le - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=python3 ARCH=ppc64le # Linux, ARM64 - os: linux arch: arm64 dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=cc ARCH=arm64 ## CMake Build Generator # Linux, AMD64 - os: linux dist: bionic compiler: gcc env: BUILDER=cmake ARCH=amd64 - os: linux dist: bionic compiler: clang env: BUILDER=cmake ARCH=amd64 # Mac OS X, AMD64 - os: osx osx_image: xcode11.4 compiler: gcc env: BUILDER=cmake ARCH=amd64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=cmake ARCH=amd64 # Linux, PPC64LE - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=cmake LANGUAGE=cc ARCH=ppc64le # Linux, ARM64 - os: linux arch: arm64 dist: bionic compiler: gcc env: BUILDER=cmake LANGUAGE=cc ARCH=arm64 ## Bazel builds and tests - os: linux dist: bionic cache: false addons: apt: sources: - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" key_url: "https://bazel.build/bazel-release.pub.gpg" packages: - bazel env: BUILDER=bazel ARCH=amd64 # Jobs too long, or can fail as not yet supported allow_failures: - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=cc ARCH=amd64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=python3 ARCH=amd64 - os: osx osx_image: xcode9.3 compiler: clang env: BUILDER=make LANGUAGE=java ARCH=amd64 - os: osx osx_image: xcode11.4 compiler: clang env: BUILDER=make LANGUAGE=dotnet ARCH=amd64 - os: linux dist: bionic env: BUILDER=bazel ARCH=amd64 - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=cc ARCH=ppc64le - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=python3 ARCH=ppc64le - os: linux arch: ppc64le dist: bionic compiler: gcc env: BUILDER=cmake LANGUAGE=cc ARCH=ppc64le - os: linux arch: arm64 dist: bionic compiler: gcc env: BUILDER=make LANGUAGE=cc ARCH=arm64 - os: linux arch: arm64 dist: bionic compiler: gcc env: BUILDER=cmake LANGUAGE=cc ARCH=arm64 install: - ./.travis/install.sh before_script: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; fi script: - ./.travis/script.sh