Release v2.1.2 #245
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| clang-format-check: | |
| name: Check Code Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Run clang-format | |
| uses: jidicula/clang-format-action@v4.13.0 | |
| with: | |
| clang-format-version: 19 | |
| build-and-test-bazel: | |
| name: Build and Test (Bazel, ${{ 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 | |
| uses: actions/checkout@v4 | |
| - name: Setup Bazel | |
| uses: bazel-contrib/setup-bazel@0.14.0 | |
| with: | |
| bazelisk-cache: true | |
| disk-cache: ${{ github.workflow }} | |
| repository-cache: 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 }} | |
| - name: Verify compiler is available | |
| run: ${{ matrix.compiler.cxx }} --version | |
| - name: Build with Bazel | |
| run: | | |
| 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: | | |
| 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) | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Configure CMake | |
| run: cmake -S . -B build -DBUILD_TESTS=ON | |
| - name: Build | |
| run: cmake --build build --config Release | |
| - name: Run tests | |
| run: ctest --test-dir build -C Release -E "PipeTransport|FramedPipeTransport" --output-on-failure | |
| docs: | |
| name: Generate Documentation | |
| runs-on: ubuntu-latest | |
| container: hankhsu1996/doxygen:1.11.0 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Generate Doxygen documentation | |
| run: doxygen docs/Doxyfile | |
| - name: Upload Doxygen documentation artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: doxygen-docs | |
| path: docs/generated/html | |
| deploy: | |
| name: Deploy Documentation | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| needs: docs | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Download Doxygen documentation artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: doxygen-docs | |
| path: docs/generated/html | |
| - name: Deploy to GitHub Pages | |
| uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./docs/generated/html | |
| publish_branch: gh-pages |