add problem matcher for other cmake errors #57
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: cmake-test | |
| on: | |
| push: | |
| branches: [ "*" ] | |
| pull_request: | |
| branches: [ "*" ] | |
| jobs: | |
| job: | |
| name: ${{ matrix.os }}-${{ matrix.os_version }}-${{ matrix.compiler }}-${{ matrix.variant }} | |
| runs-on: ${{ matrix.os }}-${{ matrix.os_version }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos, ubuntu, windows] | |
| os_version: [latest] | |
| compiler: [cl, clang++, g++] | |
| variant: [Debug, Release] | |
| include: | |
| - os: macos | |
| compiler: clang++ | |
| triplet: arm64-osx | |
| - os: ubuntu | |
| compiler: clang++ | |
| triplet: x64-linux | |
| - os: ubuntu | |
| compiler: g++ | |
| triplet: x64-linux | |
| - os: windows | |
| compiler: cl | |
| triplet: x64-windows | |
| exclude: | |
| - os: macos | |
| compiler: cl | |
| - os: macos | |
| compiler: g++ | |
| - os: ubuntu | |
| compiler: cl | |
| - os: windows | |
| compiler: clang++ | |
| - os: windows | |
| compiler: g++ | |
| env: | |
| CXX: ${{ matrix.compiler }} | |
| VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }} | |
| VCPKG_DISABLE_METRICS: true | |
| VCPKG_ROOT: /Users/runner/work/firestarr-cpp/firestarr-cpp/vcpkg | |
| VCPKG_DEFAULT_BINARY_CACHE: /Users/runner/work/firestarr-cpp/firestarr-cpp/vcpkg/.cache | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - uses: friendlyanon/setup-vcpkg@v1 | |
| with: | |
| committish: 2025.12.12 | |
| # getting a warning when cache exists, so just save/restore ourselves | |
| cache: false | |
| - name: Restore cache for vcpkg | |
| id: cache-vcpkg-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| # vcpkg always builds release, so share cache between debug and release | |
| key: vcpkg-${{ matrix.os }}-${{ matrix.os_version }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json', '.github/vcpkg_overlays/**') }} | |
| path: | | |
| ${{ env.VCPKG_DEFAULT_BINARY_CACHE }} | |
| - run: cmake --preset ${{ matrix.variant }} | |
| - name: Run cmake --build --parallel --preset ${{ matrix.variant }} | |
| run: | | |
| echo "::add-matcher::.github/cmake-problem-matcher.json" | |
| cmake --build --parallel --preset ${{ matrix.variant }} | |
| echo "::remove-matcher owner=cmake::" | |
| echo "::remove-matcher owner=cmake-windows::" | |
| echo "::remove-matcher owner=cmake-other::" | |
| echo "::remove-matcher owner=cmake-windows-other::" | |
| - run: ./firestarr -h | |
| - run: ctest --output-on-failure --preset ${{ matrix.variant }} | |
| - name: Save cache for vcpkg | |
| id: cache-vcpkg-save | |
| if: steps.cache-vcpkg-restore.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v4 | |
| with: | |
| key: ${{ steps.cache-vcpkg-restore.outputs.cache-primary-key }} | |
| path: | | |
| ${{ env.VCPKG_DEFAULT_BINARY_CACHE }} |