Skip to content

[struct_json] support user-defined serialize/deserialize (#619) #5

[struct_json] support user-defined serialize/deserialize (#619)

[struct_json] support user-defined serialize/deserialize (#619) #5

Workflow file for this run

name: Ubuntu (gcc)
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
workflow_call:
workflow_dispatch:
env:
ccache: ON
jobs:
ubuntu_gcc:
strategy:
matrix:
mode: [ Debug ] #[Release, Debug]
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: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )
- name: Configure
run: |
CXX=g++ CC=gcc
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}}
- 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_gcc_pb:
strategy:
matrix:
mode: [ Debug ] #[Release, Debug]
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: Check protoc
run: protoc --version
- name: Install ninja-build tool
uses: seanmiddleditch/gha-setup-ninja@v3
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )
- name: Configure
run: |
CXX=g++ CC=gcc
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}} \
-DBUILD_CORO_HTTP=OFF -DBUILD_CORO_IO=OFF -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_gcc_for_liburing:
strategy:
matrix:
mode: [Release, Debug]
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 ninja-build tool
uses: seanmiddleditch/gha-setup-ninja@master
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )
- name: Configure
run: |
CXX=g++ CC=gcc
cmake -B ${{github.workspace}}/build -G Ninja \
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \
-DYLT_ENABLE_IO_URING=${{matrix.io_uring}} \
-DUSE_CCACHE=${{env.ccache}} \
-DBUILD_STRUCT_JSON=OFF -DBUILD_STRUCT_XML=OFF -DBUILD_STRUCT_PACK=OFF -DBUILD_STRUCT_PB=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_gcc9:
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: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.job }}-${{ matrix.mode}}
- name: Configure
run: |
CXX=g++ CC=gcc
cmake -B ${{github.workspace}}/build -G Ninja \
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \
-DUSE_CCACHE=${{env.ccache}} \
-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