This is an automated email from the ASF dual-hosted git repository. jiashunzhu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-brpc.git
The following commit(s) were added to refs/heads/master by this push: new 1936db9c Support all compile options and unittest for Linux workflow (#2018) 1936db9c is described below commit 1936db9ce2d0e35fba2cfed7a1c1a25975ddd30f Author: 果冻虾仁 <guod...@apache.org> AuthorDate: Mon Nov 28 03:03:48 2022 +0800 Support all compile options and unittest for Linux workflow (#2018) Support all compile options and unittest for Linux workflow #2018 --- .github/actions/init-make-config/action.yml | 9 + .github/actions/install-all-dependences/action.yml | 10 ++ .../install-essential-dependences/action.yml | 7 + .github/workflows/ci-linux.yml | 196 +++++++++++++++++++++ .github/workflows/{ci_macos.yml => ci-macos.yml} | 0 .github/workflows/ci_linux.yml | 114 ------------ Makefile | 3 + 7 files changed, 225 insertions(+), 114 deletions(-) diff --git a/.github/actions/init-make-config/action.yml b/.github/actions/init-make-config/action.yml new file mode 100644 index 00000000..05e8a92a --- /dev/null +++ b/.github/actions/init-make-config/action.yml @@ -0,0 +1,9 @@ +inputs: + options: + description: extra options for config_brpc.sh + required: false +runs: + using: "composite" + steps: + - run: sh config_brpc.sh --headers="/usr/local/include /usr/include" --libs="/usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64" --nodebugsymbols ${{inputs.options}} + shell: bash diff --git a/.github/actions/install-all-dependences/action.yml b/.github/actions/install-all-dependences/action.yml new file mode 100644 index 00000000..dee35111 --- /dev/null +++ b/.github/actions/install-all-dependences/action.yml @@ -0,0 +1,10 @@ +runs: + using: "composite" + steps: + - uses: ./.github/actions/install-essential-dependences + - run: sudo apt-get install -y libgoogle-glog-dev automake bison flex libboost-all-dev libevent-dev libtool pkg-config + shell: bash + - run: wget https://archive.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz && tar -xf thrift-0.11.0.tar.gz + shell: bash + - run: 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 --with-haskell=no --with-dotnetcore=no CXXFLAGS="-Wno-unused-variable" && make -j $(nproc) && sudo make install + shell: bash diff --git a/.github/actions/install-essential-dependences/action.yml b/.github/actions/install-essential-dependences/action.yml new file mode 100644 index 00000000..4b3249d8 --- /dev/null +++ b/.github/actions/install-essential-dependences/action.yml @@ -0,0 +1,7 @@ +runs: + using: "composite" + steps: + - run: ulimit -c unlimited -S && sudo bash -c "echo 'core.%e.%p' > /proc/sys/kernel/core_pattern" + shell: bash + - run: sudo apt-get install -y git g++ make libssl-dev libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev libgoogle-perftools-dev + shell: bash diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml new file mode 100644 index 00000000..34e0cccc --- /dev/null +++ b/.github/workflows/ci-linux.yml @@ -0,0 +1,196 @@ +name: Build and Test on Linux + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + proc_num: $(nproc) + +jobs: + gcc-compile-with-make: + runs-on: ubuntu-latest # https://github.com/actions/runner-images + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-essential-dependences + - uses: ./.github/actions/init-make-config + with: + options: --cc=gcc --cxx=g++ + - name: compile + run: | + make -j ${{env.proc_num}} + + gcc-compile-with-cmake: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-essential-dependences + - name: cmake + run: | + export CC=gcc && export CXX=g++ + 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: | + export CC=gcc && export CXX=g++ + bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //... + + gcc-compile-with-make-all-options: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-all-dependences + - uses: ./.github/actions/init-make-config + with: + options: --cc=gcc --cxx=g++ --with-thrift --with-glog + - name: compile + run: | + make -j ${{env.proc_num}} + + gcc-compile-with-cmake-all-options: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-all-dependences + - name: cmake + run: | + export CC=gcc && export CXX=g++ + mkdir build + cd build + cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON .. + - name: compile + run: | + cd build + make -j ${{env.proc_num}} + + gcc-compile-with-bazel-all-options: + 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: | + export CC=gcc && export CXX=g++ + bazel build -j 12 -c opt --define with_mesalink=false --define with_glog=true --define with_thrift=true --copt -DHAVE_ZLIB=1 //... + + + clang-compile-with-make: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-essential-dependences + - uses: ./.github/actions/init-make-config + with: + options: --cc=clang --cxx=clang++ + - name: compile + run: | + make -j ${{env.proc_num}} + + clang-compile-with-cmake: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-essential-dependences + - name: cmake + run: | + export CC=clang && export CXX=clang++ + mkdir build + cd build + cmake .. + - name: compile + run: | + cd build + make -j ${{env.proc_num}} + + clang-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: | + export CC=clang && export CXX=clang++ + bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //... + + clang-compile-with-make-all-options: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-all-dependences + - uses: ./.github/actions/init-make-config + with: + options: --cc=clang --cxx=clang++ --with-thrift --with-glog + - name: compile + run: | + make -j ${{env.proc_num}} + + clang-compile-with-cmake-all-options: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-all-dependences + - name: cmake + run: | + export CC=clang && export CXX=clang++ + mkdir build + cd build + cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON .. + - name: compile + run: | + cd build + make -j ${{env.proc_num}} + + clang-compile-with-bazel-all-options: + 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: | + export CC=clang && export CXX=clang++ + bazel build -j ${{env.proc_num}} -c opt --define with_mesalink=false --define with_glog=true --define with_thrift=true --copt -DHAVE_ZLIB=1 //... + + clang-unittest: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/install-essential-dependences + - name: install gtest + run: | + sudo apt-get install -y cmake libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/ + - uses: ./.github/actions/init-make-config + with: + options: --cc=clang --cxx=clang++ + - name: compile tests + run: | + cd test + make -j ${{env.proc_num}} + - name: run tests + run: | + cd test + sh ./run_tests.sh diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci-macos.yml similarity index 100% rename from .github/workflows/ci_macos.yml rename to .github/workflows/ci-macos.yml diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml deleted file mode 100644 index 8e9aa807..00000000 --- a/.github/workflows/ci_linux.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: Build and Test on Linux - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -env: - proc_num: $(nproc) - -jobs: - gcc-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" - - 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 //... - - - 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: - - 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: | - export CC=clang - export CXX=clang++ - mkdir build - cd build - cmake .. - - name: compile - run: | - cd build - make -j ${{env.proc_num}} - - clang-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: | - export CC=clang - export CXX=clang++ - bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //... diff --git a/Makefile b/Makefile index d707c5fa..574c63bb 100644 --- a/Makefile +++ b/Makefile @@ -294,6 +294,9 @@ output/bin:protoc-gen-mcpack @echo "> Generating $@" $(PROTOC) --cpp_out=./src --proto_path=./src --proto_path=$(PROTOBUF_HDR) $< +src/mcpack2pb/generator.o:src/mcpack2pb/generator.cpp src/idl_options.pb.h + $(CXX) -c $(HDRPATHS) $(CXXFLAGS) $< -o $@ + %.o:%.cpp @echo "> Compiling $@" $(CXX) -c $(HDRPATHS) $(CXXFLAGS) $< -o $@ --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org For additional commands, e-mail: dev-h...@brpc.apache.org