[struct_json, struct_xml, struct_yaml][feat]support cpp17 #422
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: 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}} -DENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ | |
- 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: 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}} -DENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++\ | |
-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_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 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}} \ | |
-DENABLE_IO_URING=${{matrix.io_uring}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++\ | |
-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_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 |