.travis.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Licensed to the Apache Software Foundation (ASF) under one
  2. # or more contributor license agreements. See the NOTICE file
  3. # distributed with this work for additional information
  4. # regarding copyright ownership. The ASF licenses this file
  5. # to you under the Apache License, Version 2.0 (the
  6. # "License"); you may not use this file except in compliance
  7. # with the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing,
  12. # software distributed under the License is distributed on an
  13. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. # KIND, either express or implied. See the License for the
  15. # specific language governing permissions and limitations
  16. # under the License.
  17. language: cpp
  18. sudo: required
  19. compiler:
  20. - clang
  21. - gcc
  22. env:
  23. - PURPOSE=compile-with-make
  24. - PURPOSE=compile-with-cmake
  25. - PURPOSE=compile-with-bazel
  26. - PURPOSE=unittest
  27. - PURPOSE=compile-with-make-all-options
  28. - PURPOSE=compile-with-cmake-all-options
  29. - PURPOSE=compile-with-bazel-all-options
  30. before_script:
  31. - ulimit -c unlimited -S # enable core dumps
  32. # The real command should be put into another "bash -c" otherwise it
  33. # would cause a permission issue. The reason may be that the 'sudo'
  34. # only promote the 'echo' part but not the whole command.
  35. - sudo bash -c "echo 'core.%e.%p' > /proc/sys/kernel/core_pattern"
  36. before_install:
  37. - wget --no-clobber https://github.com/bazelbuild/bazel/releases/download/0.25.1/bazel_0.25.1-linux-x86_64.deb && sudo dpkg -i bazel_0.25.1-linux-x86_64.deb
  38. - sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config # thrift dependencies
  39. - wget http://www.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz && tar -xf thrift-0.11.0.tar.gz && cd thrift-0.11.0/ && ./configure --prefix=/usr --with-rs=no --with-ruby=no --with-python=no --with-java=no --with-go=no --with-perl=no --with-php=no --with-csharp=no --with-erlang=no --with-lua=no --with-nodejs=no CXXFLAGS="-Wno-unused-variable" && make -j4 && sudo make install && cd -
  40. install:
  41. - sudo apt-get install -qq realpath libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev libboost-dev libssl-dev libevent-dev libboost-test-dev libgoogle-glog-dev
  42. - sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo env "PATH=$PATH" cmake . && sudo make && sudo mv libgtest* /usr/lib/ && cd -
  43. - sudo apt-get install -y gdb # install gdb
  44. - wget https://mesalink.s3-us-west-1.amazonaws.com/MesaLink-1.0.0-x86_64_trusty.deb && sudo dpkg -i MesaLink-1.0.0-x86_64_trusty.deb # install MesaLink for trusty
  45. script:
  46. - sh build_in_travis_ci.sh