57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
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"
|