222 lines
7.7 KiB
YAML
222 lines
7.7 KiB
YAML
env:
|
|
global:
|
|
# Set at the root level as this is ignored when set under matrix.env.
|
|
- GCC_VERSION="4.9"
|
|
# Fail on first error if UBSAN or ASAN enabled for a target
|
|
- UBSAN_OPTIONS=halt_on_error=1
|
|
- ASAN_OPTIONS=halt_on_error=1
|
|
# Travis machines have 2 cores
|
|
- JOBS=2
|
|
- MAKEFLAGS="-j 2"
|
|
|
|
conan-linux: &conan-linux
|
|
os: linux
|
|
dist: xenial
|
|
language: python
|
|
python: "3.7"
|
|
services:
|
|
- docker
|
|
install:
|
|
- ./conan/travis/install.sh
|
|
script:
|
|
- ./conan/travis/build.sh
|
|
if: tag IS present
|
|
|
|
conan-linux-master: &conan-linux-master
|
|
os: linux
|
|
dist: xenial
|
|
language: python
|
|
python: "3.7"
|
|
services:
|
|
- docker
|
|
install:
|
|
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash ./conan/travis/install.sh; fi'
|
|
script:
|
|
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash ./conan/travis/build.sh; fi'
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
conan-osx: &conan-osx
|
|
os: osx
|
|
language: generic
|
|
install:
|
|
- ./conan/travis/install.sh
|
|
script:
|
|
- ./conan/travis/build.sh
|
|
if: tag IS present
|
|
|
|
matrix:
|
|
include:
|
|
#- language: python
|
|
# python: "2.7"
|
|
# install:
|
|
# - "pip install wheel twine"
|
|
# script:
|
|
# - "cd python/"
|
|
# - 'VERSION="$TRAVIS_TAG" python setup.py sdist bdist_wheel'
|
|
# - "cd ../"
|
|
# deploy:
|
|
# # Checkpointed release builds.
|
|
# - provider: script
|
|
# script: .travis/deploy-python.sh
|
|
# skip_cleanup: true
|
|
# on:
|
|
# tags: true
|
|
# # all_branches must be set with tags: true. See below post:
|
|
# # https://stackoverflow.com/a/27775257/1076585
|
|
# all_branches: true
|
|
# # Produce a new build for the cutting edge when master changes.
|
|
# - provider: script
|
|
# script: .travis/deploy-python.sh
|
|
# skip_cleanup: true
|
|
# on:
|
|
# branch: master
|
|
- language: cpp
|
|
os:
|
|
- linux
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- docker-ce
|
|
script:
|
|
- bash .travis/build-and-run-docker-test-containers.sh
|
|
|
|
- language: cpp
|
|
os:
|
|
- linux
|
|
|
|
compiler:
|
|
- gcc
|
|
|
|
env:
|
|
matrix:
|
|
- BUILD_TYPE=Debug
|
|
- BUILD_TYPE=Release
|
|
|
|
before_install:
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq g++-$GCC_VERSION; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq gcc-$GCC_VERSION; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ln -s -v -f $(which g++-$GCC_VERSION) /usr/bin/g++; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ln -s -v -f $(which gcc-$GCC_VERSION) /usr/bin/gcc; fi
|
|
|
|
script:
|
|
- bash .travis/check-sources.sh
|
|
- bash grpc/build_grpc.sh
|
|
- cmake .
|
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
-DFLATBUFFERS_BUILD_GRPCTEST=ON
|
|
-DGRPC_INSTALL_PATH=$TRAVIS_BUILD_DIR/google/grpc/install
|
|
-DPROTOBUF_DOWNLOAD_PATH=$TRAVIS_BUILD_DIR/google/grpc/third_party/protobuf
|
|
-DFLATBUFFERS_CODE_SANITIZE=ON
|
|
- cmake --build . --target all --clean-first -- -j${JOBS}
|
|
- LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
|
- bash .travis/check-generate-code.sh
|
|
|
|
- language: cpp
|
|
os: osx
|
|
osx_image: xcode9.3
|
|
env:
|
|
matrix:
|
|
- BUILD_TYPE=Debug
|
|
- BUILD_TYPE=Release
|
|
|
|
script:
|
|
- bash grpc/build_grpc.sh
|
|
- cmake .
|
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
-DFLATBUFFERS_BUILD_GRPCTEST=ON
|
|
-DGRPC_INSTALL_PATH=$TRAVIS_BUILD_DIR/google/grpc/install
|
|
-DPROTOBUF_DOWNLOAD_PATH=$TRAVIS_BUILD_DIR/google/grpc/third_party/protobuf
|
|
-DFLATBUFFERS_CODE_SANITIZE=ON
|
|
- cmake --build . -- -j${JOBS}
|
|
- DYLD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/google/grpc/install/lib ctest --extra-verbose --output-on-failure
|
|
- bash .travis/check-generate-code.sh
|
|
|
|
- <<: *conan-linux-master
|
|
env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8
|
|
- <<: *conan-linux
|
|
env: CONAN_GCC_VERSIONS=9 CONAN_DOCKER_IMAGE=conanio/gcc9
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=7.0 CONAN_DOCKER_IMAGE=conanio/clang7
|
|
- <<: *conan-linux
|
|
env: CONAN_CLANG_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/clang8
|
|
- <<: *conan-osx
|
|
osx_image: xcode7.3
|
|
env: CONAN_APPLE_CLANG_VERSIONS=7.3
|
|
- <<: *conan-osx
|
|
osx_image: xcode8.3
|
|
env: CONAN_APPLE_CLANG_VERSIONS=8.1
|
|
- <<: *conan-osx
|
|
osx_image: xcode9
|
|
env: CONAN_APPLE_CLANG_VERSIONS=9.0
|
|
- <<: *conan-osx
|
|
osx_image: xcode9.4
|
|
env: CONAN_APPLE_CLANG_VERSIONS=9.1
|
|
- <<: *conan-osx
|
|
osx_image: xcode10.2
|
|
env: CONAN_APPLE_CLANG_VERSIONS=10.0
|
|
|
|
- language: android
|
|
sudo: true
|
|
dist: trusty
|
|
android:
|
|
components:
|
|
- tools
|
|
- platform-tools
|
|
- build-tools-25.0.2
|
|
- android-25
|
|
- extra-android-m2repository
|
|
compiler:
|
|
- gcc
|
|
|
|
before_install:
|
|
# Output something every 10 minutes or Travis kills the job
|
|
- while sleep 540; do echo "=====[ $SECONDS seconds still running ]====="; done &
|
|
# Install the r17c version of the NDK that still so that we can continue to test with gnustl
|
|
# and stlport.
|
|
- export ANDROID_NDK_HOME=$HOME/android-ndk
|
|
- NDK_ZIP=$ANDROID_NDK_HOME/ndk.zip
|
|
- mkdir -p $ANDROID_NDK_HOME
|
|
- curl -o $NDK_ZIP https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip
|
|
- unzip -q -d $ANDROID_NDK_HOME $NDK_ZIP
|
|
- rm $NDK_ZIP
|
|
- mv $ANDROID_NDK_HOME/android-ndk-*/* $ANDROID_NDK_HOME
|
|
- rmdir $ANDROID_NDK_HOME/android-ndk-*
|
|
- export CMAKE=$(which cmake)
|
|
# libc required for prebuilt llvm toolchain the NDK r17c.
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq libc6; fi
|
|
# Setup environment for Linux build which is required to build the sample.
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq g++-$GCC_VERSION; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq gcc-$GCC_VERSION; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ln -s -v -f $(which g++-$GCC_VERSION) /usr/bin/g++; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ln -s -v -f $(which gcc-$GCC_VERSION) /usr/bin/gcc; fi
|
|
script:
|
|
- failed=0; for build_gradle in $(git ls-files | grep build.gradle); do ( cd "$(dirname "${build_gradle}")" && ./gradlew build ) || failed=1; done; exit $((failed))
|
|
# Kill the sleep loop
|
|
- kill %1
|