[struct_pb][fix and feat]1. fix当成员是std::variant类型时.get_fields_name 会有重复字段名bug;2.添加get_field_any接口,具体类型转换延迟到用户端代码 #1191
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: Ubuntu (clang) | |
on: | |
push: | |
branches: [ main, develop ] | |
pull_request: | |
branches: [ main, develop ] | |
workflow_call: | |
workflow_dispatch: | |
env: | |
ccache: ON | |
jobs: | |
ubuntu_clang: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
ssl: [ ON, OFF ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: sudo apt-get install openssl libssl-dev | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} -DBUILD_WITH_LIBCXX=${{matrix.libcxx}} -DYLT_ENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang_pb: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
ssl: [ ON, OFF ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
sudo apt-get install openssl libssl-dev | |
sudo apt-get install libprotobuf-dev protobuf-compiler libprotoc-dev | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: Check protoc | |
run: protoc --version | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
CXX=clang++ CC=clang | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} -DBUILD_WITH_LIBCXX=${{matrix.libcxx}} -DYLT_ENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17\ | |
-DBUILD_CORO_HTTP=OFF -DBUILD_CORO_IO=OFF -DBUILD_STRUCT_PB=ON -DBUILD_CORO_RPC=OFF -DBUILD_EASYLOG=OFF -DBUILD_STRUCT_JSON=OFF -DBUILD_STRUCT_XML=OFF -DBUILD_STRUCT_YAML=OFF -DBUILD_UTIL=OFF | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang_for_liburing: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
io_uring: [ ON ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install liburing | |
run: sudo apt-get install liburing-dev | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
CXX=clang++ CC=clang | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \ | |
-DBUILD_WITH_LIBCXX=${{matrix.libcxx}} \ | |
-DYLT_ENABLE_IO_URING=${{matrix.io_uring}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17\ | |
-DBUILD_STRUCT_JSON=OFF -DBUILD_STRUCT_XML=OFF -DBUILD_STRUCT_PACK=OFF -DBUILD_STRUCT_YAML=OFF -DBUILD_UTIL=OFF | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang10: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Install clang-6 | |
run: sudo apt-get install clang-7 clang++-7 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}} | |
- name: Configure | |
run: | | |
CXX=clang++-7 CC=clang-7 | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ | |
-DENABLE_CPP_20=OFF | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V |