diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml index f470b2b2c7..09d1eb6a48 100644 --- a/.github/workflows/ci_linux.yml +++ b/.github/workflows/ci_linux.yml @@ -10,7 +10,7 @@ env: proc_num: $(nproc) jobs: - compile-with-make: + gcc-compile-with-make: runs-on: ubuntu-latest # https://github.com/actions/runner-images steps: @@ -19,14 +19,84 @@ jobs: - name: install dependences run: | sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev - - name: config_brpc + - name: config brpc run: | ./config_brpc.sh --header="/usr/local/include /usr/include" --libs="/usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64" - name: compile run: | make -j ${{env.proc_num}} + + gcc-compile-with-cmake: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: install dependences + run: | + sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev + - name: cmake + run: | + mkdir build + cd build + cmake .. + - name: compile + run: | + cd build + make -j ${{env.proc_num}} + + gcc-compile-with-bazel: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: install dependences + run: | + sudo apt-get update + sudo apt-get install libibverbs-dev + - name: compile + run: | + bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //... + gcc-unittest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: install dependences + run: | + sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev + sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ + - name: config brpc + run: | + ./config_brpc.sh --header="/usr/local/include /usr/include" --libs="/usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64" --cc=gcc --cxx=g++ + - name: compile + run: | + cd test + make -j ${{env.proc_num}} + - name: run tests + run: | + cd test + sh ./run_tests.sh + - compile-with-cmake: + clang-compile-with-make: + runs-on: ubuntu-latest # https://github.com/actions/runner-images + + steps: + - uses: actions/checkout@v2 + + - name: install dependences + run: | + sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev + - name: config brpc + run: | + ./config_brpc.sh --header="/usr/local/include /usr/include" --libs="/usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64" --nodebugsymbols --cxx=clang++ --cc=clang + - name: compile + run: | + make -j ${{env.proc_num}} + + clang-compile-with-cmake: runs-on: ubuntu-latest steps: @@ -37,6 +107,8 @@ jobs: sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev - name: cmake run: | + export CC=clang + export CXX=clang++ mkdir build cd build cmake .. @@ -44,8 +116,8 @@ jobs: run: | cd build make -j ${{env.proc_num}} - - compile-with-bazel: + + clang-compile-with-bazel: runs-on: ubuntu-latest steps: @@ -57,4 +129,27 @@ jobs: sudo apt-get install libibverbs-dev - name: compile run: | + export CC=clang + export CXX=clang++ bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //... + + clang-unittest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: install dependences + run: | + sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev + sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ + - name: config brpc + run: | + ./config_brpc.sh --header="/usr/local/include /usr/include" --libs="/usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64" --cc=clang --cxx=clang++ + - name: compile + run: | + cd test + make -j ${{env.proc_num}} + - name: run tests + run: | + cd test + sh ./run_tests.sh diff --git a/docs/cn/getting_started.md b/docs/cn/getting_started.md index d841cbcdc6..0e4d7aaea2 100644 --- a/docs/cn/getting_started.md +++ b/docs/cn/getting_started.md @@ -16,7 +16,7 @@ brpc有如下依赖: * [Fedora/CentOS](#fedoracentos) * [自己构建依赖的Linux](#自己构建依赖的Linux) * [MacOS](#macos) -* [docker][#docker] +* [docker](#docker) ## Ubuntu/LinuxMint/WSL ### 依赖准备 @@ -38,7 +38,7 @@ sudo apt-get install -y libgoogle-perftools-dev 如果你要运行测试,那么要安装并编译libgtest-dev(它没有被默认编译): ```shell -sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libgtest* /usr/lib/ && cd - +sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ && cd - ``` gtest源码目录可能变动,如果`/usr/src/gtest`不存在,请尝试`/usr/src/googletest/googletest`。 diff --git a/docs/cn/mbvar_c++.md b/docs/cn/mbvar_c++.md index cee99bba53..c68f95d76d 100644 --- a/docs/cn/mbvar_c++.md +++ b/docs/cn/mbvar_c++.md @@ -186,7 +186,7 @@ class MVariable { }; ``` -最常见的导出需求是通过HTTP接口查询和写入本地文件,多维度统计暂时不提供HTTP接口方式查询,后者已经在bvar中实现了,由用户选择开启,该功能由下面5个gflags控制,你的程序需要使用gflags。 +最常见的导出需求是通过HTTP接口查询和写入本地文件,多维度统计支持通过内置服务`/brpc_metrics`接口方式查询。也支持写入本地文件,该功能由下面5个gflags控制,你的程序需要使用gflags。 | 名称 | 默认值 | 描述 | | ------ | ------ | ------ | diff --git a/docs/en/getting_started.md b/docs/en/getting_started.md index f704df9191..40d6888363 100644 --- a/docs/en/getting_started.md +++ b/docs/en/getting_started.md @@ -38,7 +38,7 @@ sudo apt-get install -y libgoogle-perftools-dev If you need to run tests, install and compile libgtest-dev (which is not compiled yet): ```shell -sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libgtest* /usr/lib/ && cd - +sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ && cd - ``` The directory of gtest source code may be changed, try `/usr/src/googletest/googletest` if `/usr/src/gtest` is not there.