name: C++ bindings on: push: pull_request: jobs: test: name: ${{ matrix.compiler }} / ${{ matrix.build_type }} runs-on: ubuntu-latest timeout-minutes: 10 strategy: fail-fast: false matrix: include: - compiler: gcc cc: gcc cxx: g++ build_type: Debug - compiler: gcc cc: gcc cxx: g++ build_type: Release - compiler: clang cc: clang cxx: clang++ build_type: Debug - compiler: clang cc: clang cxx: clang++ build_type: Release steps: - name: Checkout with submodules uses: actions/checkout@v4 with: submodules: recursive - name: Configure env: CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} run: >- cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DIKVXX_BUILD_TESTS=ON -DIKVXX_INSTALL=ON - name: Build run: cmake --build build --parallel 2 - name: Test bindings run: ctest --test-dir build --build-config ${{ matrix.build_type }} --output-on-failure - name: Verify installation run: cmake --install build --prefix "${{ runner.temp }}/ikvxx-install"