| 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 |