From 3395896117f1f0ac6368230b1078087fd8b00873 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 15:56:34 -0800 Subject: [PATCH 01/11] Add GCC and MSVC to CI for cross-compiler testing --- .github/workflows/ci.yml | 61 +++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09fb30df..6fa7e5a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,8 +23,13 @@ jobs: clang-format-version: 19 build-and-test-cmake: - name: Build and Test (CMake) + name: Build and Test (CMake, ${{ matrix.compiler.name }}-${{ matrix.compiler.version }}) runs-on: ubuntu-latest + strategy: + matrix: + compiler: + - { name: gcc, version: 13, cc: gcc-13, cxx: g++-13 } + - { name: clang, version: 19, cc: clang-19, cxx: clang++-19 } steps: - name: Checkout code @@ -47,14 +52,14 @@ jobs: cache-dependencies: true cache-tool: true - - name: Install Clang 19 + - name: Install ${{ matrix.compiler.name }}-${{ matrix.compiler.version }} run: | sudo apt-get update - sudo apt-get install -y clang-19 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 - sudo update-alternatives --set clang++ /usr/bin/clang++-19 - sudo update-alternatives --set clang /usr/bin/clang-19 + sudo apt-get install -y ${{ matrix.compiler.cc }} ${{ matrix.compiler.cxx }} + sudo update-alternatives --install /usr/bin/cc cc /usr/bin/${{ matrix.compiler.cc }} 100 + sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/${{ matrix.compiler.cxx }} 100 + sudo update-alternatives --set cc /usr/bin/${{ matrix.compiler.cc }} + sudo update-alternatives --set c++ /usr/bin/${{ matrix.compiler.cxx }} - name: Install dependencies run: | @@ -62,8 +67,10 @@ jobs: conan install . --build=missing conan install . -s build_type=Debug --build=missing - - name: Verify Clang is available - run: clang --version + - name: Verify compiler is available + run: | + ${{ matrix.compiler.cc }} --version + ${{ matrix.compiler.cxx }} --version - name: Configure CMake and build project run: | @@ -74,7 +81,7 @@ jobs: run: ctest --preset release build-and-test-bazel: - name: Build and Test (Bazel) + name: Build and Test (Bazel, clang-19) runs-on: ubuntu-latest steps: @@ -114,6 +121,40 @@ jobs: # Test debug configuration bazel test //... --config=debug --test_output=all --test_timeout=5 + build-and-test-windows: + name: Build and Test (CMake, MSVC) + runs-on: windows-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Conan + uses: hankhsu1996/setup-conan@v1 + with: + conan-version: "2.5.0" + cache-dependencies: true + cache-tool: true + + - name: Install dependencies + run: | + conan profile detect --force + conan install . --build=missing + conan install . -s build_type=Debug --build=missing + + - name: Verify MSVC is available + run: | + cl.exe + continue-on-error: true + + - name: Configure CMake and build project + run: | + cmake --preset release + cmake --build --preset release + + - name: Run tests + run: ctest --preset release + docs: name: Generate Documentation runs-on: ubuntu-latest From 3d581decd9fc8eebd4bd89a06d1a5952481fb0f2 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 16:01:22 -0800 Subject: [PATCH 02/11] Fix Conan to use correct compiler from matrix and C++23 on Windows --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6fa7e5a5..a5b8ad53 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,6 +63,8 @@ jobs: - name: Install dependencies run: | + export CC=${{ matrix.compiler.cc }} + export CXX=${{ matrix.compiler.cxx }} conan profile detect --force conan install . --build=missing conan install . -s build_type=Debug --build=missing @@ -139,8 +141,8 @@ jobs: - name: Install dependencies run: | conan profile detect --force - conan install . --build=missing - conan install . -s build_type=Debug --build=missing + conan install . -s compiler.cppstd=23 --build=missing + conan install . -s build_type=Debug -s compiler.cppstd=23 --build=missing - name: Verify MSVC is available run: | From e66a24827648c951d972d696d333c5aca78b0f82 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 16:34:22 -0800 Subject: [PATCH 03/11] Downgrade from Clang 19 to Clang 18 for better stability --- .bazelrc | 6 +++--- .github/workflows/ci.yml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.bazelrc b/.bazelrc index da598dff..98bb094e 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,8 +1,8 @@ # .bazelrc -# Use clang as the compiler -build --action_env=CC=clang -build --action_env=CXX=clang++ +# Use clang-18 as the compiler +build --action_env=CC=clang-18 +build --action_env=CXX=clang++-18 # Common settings for all builds build --cxxopt='-std=c++23' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5b8ad53..ccc20432 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: matrix: compiler: - { name: gcc, version: 13, cc: gcc-13, cxx: g++-13 } - - { name: clang, version: 19, cc: clang-19, cxx: clang++-19 } + - { name: clang, version: 18, cc: clang-18, cxx: clang++-18 } steps: - name: Checkout code @@ -83,7 +83,7 @@ jobs: run: ctest --preset release build-and-test-bazel: - name: Build and Test (Bazel, clang-19) + name: Build and Test (Bazel, clang-18) runs-on: ubuntu-latest steps: @@ -97,14 +97,14 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - - name: Install Clang 19 + - name: Install Clang 18 run: | sudo apt-get update - sudo apt-get install -y clang-19 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 - sudo update-alternatives --set clang++ /usr/bin/clang++-19 - sudo update-alternatives --set clang /usr/bin/clang-19 + sudo apt-get install -y clang-18 + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 + sudo update-alternatives --set clang++ /usr/bin/clang++-18 + sudo update-alternatives --set clang /usr/bin/clang-18 - name: Verify Clang is available run: clang --version From c31f64ebd0e265f5a55274bdfc142473340f9d8c Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 17:38:37 -0800 Subject: [PATCH 04/11] Add local.md files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 84b9810f..3b62c7c4 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,6 @@ compile_commands.json # Misc *.tmp.* + +# Local configuration +*.local.md From 7c07f94fa16f8fce4d788d45b33bf678726a81c1 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 17:42:54 -0800 Subject: [PATCH 05/11] Upgrade Conan to 2.23.0 and revert to Clang 19 for std::expected support --- .bazelrc | 6 +++--- .github/workflows/ci.yml | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.bazelrc b/.bazelrc index 98bb094e..da598dff 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,8 +1,8 @@ # .bazelrc -# Use clang-18 as the compiler -build --action_env=CC=clang-18 -build --action_env=CXX=clang++-18 +# Use clang as the compiler +build --action_env=CC=clang +build --action_env=CXX=clang++ # Common settings for all builds build --cxxopt='-std=c++23' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ccc20432..18477d85 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: matrix: compiler: - { name: gcc, version: 13, cc: gcc-13, cxx: g++-13 } - - { name: clang, version: 18, cc: clang-18, cxx: clang++-18 } + - { name: clang, version: 19, cc: clang-19, cxx: clang++-19 } steps: - name: Checkout code @@ -48,7 +48,7 @@ jobs: - name: Setup Conan uses: hankhsu1996/setup-conan@v1 with: - conan-version: "2.5.0" + conan-version: "2.23.0" cache-dependencies: true cache-tool: true @@ -83,7 +83,7 @@ jobs: run: ctest --preset release build-and-test-bazel: - name: Build and Test (Bazel, clang-18) + name: Build and Test (Bazel, clang-19) runs-on: ubuntu-latest steps: @@ -97,14 +97,14 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - - name: Install Clang 18 + - name: Install Clang 19 run: | sudo apt-get update - sudo apt-get install -y clang-18 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 - sudo update-alternatives --set clang++ /usr/bin/clang++-18 - sudo update-alternatives --set clang /usr/bin/clang-18 + sudo apt-get install -y clang-19 + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 + sudo update-alternatives --set clang++ /usr/bin/clang++-19 + sudo update-alternatives --set clang /usr/bin/clang-19 - name: Verify Clang is available run: clang --version @@ -134,7 +134,7 @@ jobs: - name: Setup Conan uses: hankhsu1996/setup-conan@v1 with: - conan-version: "2.5.0" + conan-version: "2.23.0" cache-dependencies: true cache-tool: true From 1f91c8374b45d7bb537d9e429cec7f4a49f9cb89 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Wed, 3 Dec 2025 18:25:15 -0800 Subject: [PATCH 06/11] Add explicit Conan profiles and update README tone --- .conan/profiles/linux-clang19 | 8 ++++++++ .conan/profiles/linux-gcc13 | 8 ++++++++ .conan/profiles/windows-msvc | 8 ++++++++ .github/workflows/ci.yml | 10 ++++------ README.md | 8 ++++---- 5 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 .conan/profiles/linux-clang19 create mode 100644 .conan/profiles/linux-gcc13 create mode 100644 .conan/profiles/windows-msvc diff --git a/.conan/profiles/linux-clang19 b/.conan/profiles/linux-clang19 new file mode 100644 index 00000000..0545822c --- /dev/null +++ b/.conan/profiles/linux-clang19 @@ -0,0 +1,8 @@ +[settings] +os=Linux +arch=x86_64 +compiler=clang +compiler.version=19 +compiler.cppstd=23 +compiler.libcxx=libstdc++11 +build_type=Release diff --git a/.conan/profiles/linux-gcc13 b/.conan/profiles/linux-gcc13 new file mode 100644 index 00000000..5e8870e5 --- /dev/null +++ b/.conan/profiles/linux-gcc13 @@ -0,0 +1,8 @@ +[settings] +os=Linux +arch=x86_64 +compiler=gcc +compiler.version=13 +compiler.cppstd=23 +compiler.libcxx=libstdc++11 +build_type=Release diff --git a/.conan/profiles/windows-msvc b/.conan/profiles/windows-msvc new file mode 100644 index 00000000..e3e8ff80 --- /dev/null +++ b/.conan/profiles/windows-msvc @@ -0,0 +1,8 @@ +[settings] +os=Windows +arch=x86_64 +compiler=msvc +compiler.version=194 +compiler.cppstd=23 +compiler.runtime=dynamic +build_type=Release diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18477d85..dae57ffa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,9 +65,8 @@ jobs: run: | export CC=${{ matrix.compiler.cc }} export CXX=${{ matrix.compiler.cxx }} - conan profile detect --force - conan install . --build=missing - conan install . -s build_type=Debug --build=missing + conan install . --profile .conan/profiles/linux-${{ matrix.compiler.name }}${{ matrix.compiler.version }} --build=missing + conan install . --profile .conan/profiles/linux-${{ matrix.compiler.name }}${{ matrix.compiler.version }} -s build_type=Debug --build=missing - name: Verify compiler is available run: | @@ -140,9 +139,8 @@ jobs: - name: Install dependencies run: | - conan profile detect --force - conan install . -s compiler.cppstd=23 --build=missing - conan install . -s build_type=Debug -s compiler.cppstd=23 --build=missing + conan install . --profile .conan/profiles/windows-msvc --build=missing + conan install . --profile .conan/profiles/windows-msvc -s build_type=Debug --build=missing - name: Verify MSVC is available run: | diff --git a/README.md b/README.md index fd8235ce..13066f8d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![GitHub Release](https://img.shields.io/github/v/release/hankhsu1996/jsonrpc-cpp-lib) ![GitHub License](https://img.shields.io/github/license/hankhsu1996/jsonrpc-cpp-lib) -Welcome to the **JSON-RPC 2.0 Modern C++ Library**! This library provides a lightweight, modern C++ implementation of [JSON-RPC 2.0](https://www.jsonrpc.org/specification) servers and clients. It is designed to be flexible, allowing integration with various transport layers. This library makes it easy to register methods and notifications, binding them to client logic efficiently. +A lightweight, modern C++ implementation of [JSON-RPC 2.0](https://www.jsonrpc.org/specification) servers and clients. The library is designed to be flexible, allowing integration with various transport layers, and provides straightforward method and notification registration. ## Features @@ -49,7 +49,7 @@ CMake offers two main approaches for including this library: ##### A. As a Build-Time Dependency (FetchContent) -This approach downloads and builds the library as part of your project. It's ideal for development workflows where you want everything self-contained: +This approach downloads and builds the library as part of your project, suitable for development workflows where a self-contained build is desired: ```cmake include(FetchContent) @@ -66,7 +66,7 @@ target_link_libraries(your_app PRIVATE jsonrpc::jsonrpc) ##### B. As a System-Wide Installation (find_package) -This approach uses a pre-installed version of the library. It's better for production environments and system-wide installations: +This approach uses a pre-installed version of the library, appropriate for production environments and system-wide installations: 1. First, install the library: @@ -318,7 +318,7 @@ In both cases, the `compile_commands.json` file will be placed in the root direc ## Contributing -We welcome contributions! If you have suggestions or find any issues, feel free to open an issue or pull request. +Contributions are welcome. If you have suggestions or find issues, please open an issue or pull request. ## License From cd1cf58d79c788fca2449b03c202e889813df2fe Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Thu, 4 Dec 2025 20:09:37 -0800 Subject: [PATCH 07/11] Simplify CI by removing Conan and using Bazel for Linux builds --- .conan/profiles/linux-clang19 | 8 --- .conan/profiles/linux-gcc13 | 8 --- .conan/profiles/windows-msvc | 8 --- .github/workflows/ci.yml | 108 +++++----------------------------- 4 files changed, 15 insertions(+), 117 deletions(-) delete mode 100644 .conan/profiles/linux-clang19 delete mode 100644 .conan/profiles/linux-gcc13 delete mode 100644 .conan/profiles/windows-msvc diff --git a/.conan/profiles/linux-clang19 b/.conan/profiles/linux-clang19 deleted file mode 100644 index 0545822c..00000000 --- a/.conan/profiles/linux-clang19 +++ /dev/null @@ -1,8 +0,0 @@ -[settings] -os=Linux -arch=x86_64 -compiler=clang -compiler.version=19 -compiler.cppstd=23 -compiler.libcxx=libstdc++11 -build_type=Release diff --git a/.conan/profiles/linux-gcc13 b/.conan/profiles/linux-gcc13 deleted file mode 100644 index 5e8870e5..00000000 --- a/.conan/profiles/linux-gcc13 +++ /dev/null @@ -1,8 +0,0 @@ -[settings] -os=Linux -arch=x86_64 -compiler=gcc -compiler.version=13 -compiler.cppstd=23 -compiler.libcxx=libstdc++11 -build_type=Release diff --git a/.conan/profiles/windows-msvc b/.conan/profiles/windows-msvc deleted file mode 100644 index e3e8ff80..00000000 --- a/.conan/profiles/windows-msvc +++ /dev/null @@ -1,8 +0,0 @@ -[settings] -os=Windows -arch=x86_64 -compiler=msvc -compiler.version=194 -compiler.cppstd=23 -compiler.runtime=dynamic -build_type=Release diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dae57ffa..fa5e388c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,8 +22,8 @@ jobs: with: clang-format-version: 19 - build-and-test-cmake: - name: Build and Test (CMake, ${{ matrix.compiler.name }}-${{ matrix.compiler.version }}) + build-and-test-bazel: + name: Build and Test (Bazel, ${{ matrix.compiler.name }}-${{ matrix.compiler.version }}) runs-on: ubuntu-latest strategy: matrix: @@ -31,60 +31,6 @@ jobs: - { name: gcc, version: 13, cc: gcc-13, cxx: g++-13 } - { name: clang, version: 19, cc: clang-19, cxx: clang++-19 } - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Cache CCache - uses: actions/cache@v4 - id: ccache - with: - path: ~/.cache/ccache - key: ${{ runner.os }}-ccache-${{ hashFiles('conanfile.py') }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('CMakePresets.json') }}-${{ github.run_id }} - restore-keys: | - ${{ runner.os }}-ccache-${{ hashFiles('conanfile.py') }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('CMakePresets.json') }}- - ${{ runner.os }}-ccache- - - - name: Setup Conan - uses: hankhsu1996/setup-conan@v1 - with: - conan-version: "2.23.0" - cache-dependencies: true - cache-tool: true - - - name: Install ${{ matrix.compiler.name }}-${{ matrix.compiler.version }} - run: | - sudo apt-get update - sudo apt-get install -y ${{ matrix.compiler.cc }} ${{ matrix.compiler.cxx }} - sudo update-alternatives --install /usr/bin/cc cc /usr/bin/${{ matrix.compiler.cc }} 100 - sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/${{ matrix.compiler.cxx }} 100 - sudo update-alternatives --set cc /usr/bin/${{ matrix.compiler.cc }} - sudo update-alternatives --set c++ /usr/bin/${{ matrix.compiler.cxx }} - - - name: Install dependencies - run: | - export CC=${{ matrix.compiler.cc }} - export CXX=${{ matrix.compiler.cxx }} - conan install . --profile .conan/profiles/linux-${{ matrix.compiler.name }}${{ matrix.compiler.version }} --build=missing - conan install . --profile .conan/profiles/linux-${{ matrix.compiler.name }}${{ matrix.compiler.version }} -s build_type=Debug --build=missing - - - name: Verify compiler is available - run: | - ${{ matrix.compiler.cc }} --version - ${{ matrix.compiler.cxx }} --version - - - name: Configure CMake and build project - run: | - cmake --preset release - cmake --build --preset release - - - name: Run tests - run: ctest --preset release - - build-and-test-bazel: - name: Build and Test (Bazel, clang-19) - runs-on: ubuntu-latest - steps: - name: Checkout code uses: actions/checkout@v4 @@ -96,31 +42,23 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - - name: Install Clang 19 + - name: Install ${{ matrix.compiler.name }}-${{ matrix.compiler.version }} run: | sudo apt-get update - sudo apt-get install -y clang-19 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 - sudo update-alternatives --set clang++ /usr/bin/clang++-19 - sudo update-alternatives --set clang /usr/bin/clang-19 + sudo apt-get install -y ${{ matrix.compiler.cc }} ${{ matrix.compiler.cxx }} - - name: Verify Clang is available - run: clang --version + - name: Verify compiler is available + run: ${{ matrix.compiler.cxx }} --version - name: Build with Bazel run: | - # Build release configuration - bazel build //... - # Build debug configuration - bazel build //... --config=debug + bazel build //... --action_env=CC=${{ matrix.compiler.cc }} --action_env=CXX=${{ matrix.compiler.cxx }} + bazel build //... --config=debug --action_env=CC=${{ matrix.compiler.cc }} --action_env=CXX=${{ matrix.compiler.cxx }} - name: Test with Bazel run: | - # Test release configuration - bazel test //... --test_output=all --test_timeout=5 - # Test debug configuration - bazel test //... --config=debug --test_output=all --test_timeout=5 + bazel test //... --test_output=all --test_timeout=5 --action_env=CC=${{ matrix.compiler.cc }} --action_env=CXX=${{ matrix.compiler.cxx }} + bazel test //... --config=debug --test_output=all --test_timeout=5 --action_env=CC=${{ matrix.compiler.cc }} --action_env=CXX=${{ matrix.compiler.cxx }} build-and-test-windows: name: Build and Test (CMake, MSVC) @@ -130,30 +68,14 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Conan - uses: hankhsu1996/setup-conan@v1 - with: - conan-version: "2.23.0" - cache-dependencies: true - cache-tool: true - - - name: Install dependencies - run: | - conan install . --profile .conan/profiles/windows-msvc --build=missing - conan install . --profile .conan/profiles/windows-msvc -s build_type=Debug --build=missing - - - name: Verify MSVC is available - run: | - cl.exe - continue-on-error: true + - name: Configure CMake + run: cmake -S . -B build -DBUILD_TESTS=ON - - name: Configure CMake and build project - run: | - cmake --preset release - cmake --build --preset release + - name: Build + run: cmake --build build --config Release - name: Run tests - run: ctest --preset release + run: ctest --test-dir build --config Release --output-on-failure docs: name: Generate Documentation From 8d7599992d25fc9c8fe15a7899ca880bb96be131 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Thu, 4 Dec 2025 20:35:19 -0800 Subject: [PATCH 08/11] Remove -Wpedantic to fix GCC builds with external dependencies --- .bazelrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index da598dff..47df4933 100644 --- a/.bazelrc +++ b/.bazelrc @@ -11,7 +11,6 @@ build --host_cxxopt='-std=c++23' # Enable warnings build --cxxopt='-Wall' build --cxxopt='-Wextra' -build --cxxopt='-Wpedantic' build --cxxopt='-Werror' build --cxxopt='-Wno-unused-parameter' From acf0e7cf4390872840d05d15de8078e29b9ba83e Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Thu, 4 Dec 2025 20:45:33 -0800 Subject: [PATCH 09/11] Remove unused fmt includes from tests --- tests/endpoint/dispatcher_test.cpp | 1 - tests/endpoint/endpoint_test.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/endpoint/dispatcher_test.cpp b/tests/endpoint/dispatcher_test.cpp index f08db1ef..fc19ce72 100644 --- a/tests/endpoint/dispatcher_test.cpp +++ b/tests/endpoint/dispatcher_test.cpp @@ -2,7 +2,6 @@ #include #include -#include #include #include diff --git a/tests/endpoint/endpoint_test.cpp b/tests/endpoint/endpoint_test.cpp index fdbbdb1f..bfcce7be 100644 --- a/tests/endpoint/endpoint_test.cpp +++ b/tests/endpoint/endpoint_test.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include From b87764b0b2514b5e5cba58bdd625a5838d07ef91 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Fri, 5 Dec 2025 11:23:30 -0800 Subject: [PATCH 10/11] Fix ctest config flag for Windows --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa5e388c..5a6224ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,7 @@ jobs: run: cmake --build build --config Release - name: Run tests - run: ctest --test-dir build --config Release --output-on-failure + run: ctest --test-dir build -C Release --output-on-failure docs: name: Generate Documentation From 3a86a6318a977b89eed84789092552b11e63a4b6 Mon Sep 17 00:00:00 2001 From: Shou-Li Hsu Date: Fri, 5 Dec 2025 11:42:45 -0800 Subject: [PATCH 11/11] Skip Unix-specific pipe transport tests on Windows --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a6224ec..893e3bbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,7 @@ jobs: run: cmake --build build --config Release - name: Run tests - run: ctest --test-dir build -C Release --output-on-failure + run: ctest --test-dir build -C Release -E "PipeTransport|FramedPipeTransport" --output-on-failure docs: name: Generate Documentation