[Src && Example && CI/CD] Make it adapt to UNIX, fix some bugs and implement RPC module #300
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: C/C++ CI | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: init | |
run: mkdir build | |
- name: Install protobuf manually | |
run: | | |
sudo apt-get install libtool pkg-config wget git | |
git clone --recursive https://github.com/protocolbuffers/protobuf.git | |
cd protobuf | |
git checkout tags/v24.2 | |
mkdir build | |
cd build | |
cmake -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release .. | |
make | |
sudo make install | |
sudo ldconfig | |
- name: Install gtest manually | |
run: sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo cmake CMakeLists.txt && sudo make && sudo cp lib/*.a /usr/lib && sudo ln -s /usr/lib/libgtest.a /usr/local/lib/libgtest.a && sudo ln -s /usr/lib/libgtest_main.a /usr/local/lib/libgtest_main.a | |
- name: Install llhttp manually | |
working-directory: ${{github.workspace}}/.. | |
run: git clone https://github.com/nodejs/llhttp.git && cd llhttp && sudo apt-get install npm && npm install && make && sudo make install | |
- name: cmake | |
working-directory: build | |
run: cmake -DProtobuf_DIR=`pkg-config --variable=prefix protobuf` -DCMAKE_BUILD_TYPE=Release .. | |
- name: make | |
working-directory: build | |
run: make | |
- name: gtest | |
working-directory: ${{github.workspace}}/build/output/bin | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: | | |
for unittest in `ls *unittest` | |
do | |
./${unittest} | |
done |