Commit d101f3cb authored by zhujiashun's avatar zhujiashun

add separate PURPOSE for all options in ci

parent 024c9698
...@@ -7,29 +7,27 @@ compiler: ...@@ -7,29 +7,27 @@ compiler:
- gcc - gcc
env: env:
- PURPOSE=compile - PURPOSE=compile-with-make
- PURPOSE=unittest
- PURPOSE=compile-with-cmake - PURPOSE=compile-with-cmake
- PURPOSE=compile-with-bazel - PURPOSE=compile-with-bazel
- PURPOSE=compile USE_MESALINK=true - PURPOSE=unittest
- PURPOSE=unittest USE_MESALINK=true - PURPOSE=compile-with-make-all-options
- PURPOSE=compile-with-cmake USE_MESALINK=true - PURPOSE=compile-with-cmake-all-options
- PURPOSE=compile-with-bazel USE_MESALINK=true - PURPOSE=compile-with-bazel-all-options
before_script: before_script:
- ulimit -c unlimited -S # enable core dumps - ulimit -c unlimited -S # enable core dumps
before_install: before_install:
- wget --no-clobber https://github.com/bazelbuild/bazel/releases/download/0.25.1/bazel_0.25.1-linux-x86_64.deb - 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
- sudo dpkg -i bazel_0.25.1-linux-x86_64.deb
- sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config # thrift dependencies - sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config # thrift dependencies
- wget http://www.us.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 - - wget http://www.us.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 -
install: install:
- 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 - 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
- sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo env "PATH=$PATH" cmake . && sudo make && sudo mv libgtest* /usr/lib/ && cd - - sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo env "PATH=$PATH" cmake . && sudo make && sudo mv libgtest* /usr/lib/ && cd -
- sudo apt-get install -y gdb # install gdb - sudo apt-get install -y gdb # install gdb
- if [[ "$USE_MESALINK" == "true" ]]; then 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 ; fi # install MesaLink for trusty - 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
script: script:
- sh build_in_travis_ci.sh - sh build_in_travis_ci.sh
...@@ -22,27 +22,29 @@ runcmd(){ ...@@ -22,27 +22,29 @@ runcmd(){
echo "build combination: PURPOSE=$PURPOSE CXX=$CXX CC=$CC" echo "build combination: PURPOSE=$PURPOSE CXX=$CXX CC=$CC"
init_make_config() { init_make_config() {
EXTRA_BUILD_OPTS="" # The default env in travis-ci is Ubuntu.
if [ "$USE_MESALINK" = "true" ]; then if ! sh config_brpc.sh --headers=/usr/include --libs=/usr/lib --nodebugsymbols --cxx=$CXX --cc=$CC $@ ; then
EXTRA_BUILD_OPTS="$EXTRA_BUILD_OPTS --with-mesalink"
fi
# The default env in travis-ci is Ubuntu.
if ! sh config_brpc.sh --headers=/usr/include --libs=/usr/lib --nodebugsymbols --cxx=$CXX --cc=$CC $EXTRA_BUILD_OPTS $1 ; then
echo "Fail to configure brpc" echo "Fail to configure brpc"
exit 1 exit 1
fi fi
} }
if [ "$PURPOSE" = "compile" ]; then if [ "$PURPOSE" = "compile-with-make" ]; then
# In order to run thrift example, we need to add the corresponding flag # In order to run thrift example, we need to add the corresponding flag
init_make_config "--with-thrift" && make -j4 && sh tools/make_all_examples init_make_config "--with-thrift" && make -j4 && sh tools/make_all_examples
elif [ "$PURPOSE" = "unittest" ]; then elif [ "$PURPOSE" = "unittest" ]; then
init_make_config && cd test && make -j4 && sh ./run_tests.sh init_make_config && cd test && make -j4 && sh ./run_tests.sh
elif [ "$PURPOSE" = "compile-with-cmake" ]; then elif [ "$PURPOSE" = "compile-with-cmake" ]; then
rm -rf bld && mkdir bld && cd bld && cmake -DWITH_MESALINK="$USE_MESALINK" .. && make -j4 rm -rf bld && mkdir bld && cd bld && cmake .. && make -j4
elif [ "$PURPOSE" = "compile-with-bazel" ]; then elif [ "$PURPOSE" = "compile-with-bazel" ]; then
bazel build -j 12 -c opt --define with_mesalink="$USE_MESALINK" --copt -DHAVE_ZLIB=1 //... bazel build -j 12 -c opt --copt -DHAVE_ZLIB=1 //...
elif [ "$PURPOSE" = "compile-with-make-all-options" ]; then
init_make_config "--with-thrift --with-glog --with-mesalink" && \
make -j4 && sh tools/make_all_examples
elif [ "$PURPOSE" = "compile-with-cmake-all-options" ]; then
rm -rf bld && mkdir bld && cd bld && cmake -DWITH_MESALINK=ON -DWITH_GLOG=ON -DWITH_THRIFT=ON .. && make -j4
elif [ "$PURPOSE" = "compile-with-bazel-all-options" ]; then
bazel build -j 12 -c opt --define with_mesalink=true with_glog=true with_thrift=true --copt -DHAVE_ZLIB=1 //...
else else
echo "Unknown purpose=\"$PURPOSE\"" echo "Unknown purpose=\"$PURPOSE\""
fi fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment