name: CI on: push: branches: [develop, main] pull_request: branches: [develop, main] workflow_dispatch: jobs: linux: name: Linux GCC ${{ matrix.build_type }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: build_type: [Debug, Release] steps: - uses: actions/checkout@v4 - name: Configure run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - name: Build run: cmake --build build -j - name: Test run: ctest --test-dir build --output-on-failure macos: name: macOS AppleClang ${{ matrix.build_type }} runs-on: macos-latest strategy: fail-fast: false matrix: build_type: [Debug, Release] steps: - uses: actions/checkout@v4 - name: Configure run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - name: Build run: cmake --build build -j - name: Test run: ctest --test-dir build --output-on-failure windows: name: Windows MSVC ${{ matrix.build_type }} runs-on: windows-latest strategy: fail-fast: false matrix: build_type: [Debug, Release] steps: - uses: actions/checkout@v4 - name: Configure run: cmake -B build - name: Build run: cmake --build build --config ${{ matrix.build_type }} -j - name: Test run: ctest --test-dir build --output-on-failure -C ${{ matrix.build_type }}