name: Continuous Integration on: [push, pull_request] jobs: build: name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} strategy: fail-fast: false matrix: config: - { name: "Linux Clang", os: ubuntu-20.04, extra_options: "-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" } - { name: "Linux GCC", os: ubuntu-20.04 } - { name: "macOS", os: macos-12 } - { name: "Windows", os: windows-2022 } steps: - uses: actions/checkout@v3 - name: Configure shell: bash run: | cmake -B build ${{ matrix.config.extra_options }} . - name: Build shell: bash run: | export MAKEFLAGS=--keep-going cmake --build build --config Release --parallel 3 - name: List Build Directory if: always() shell: bash run: | git status ls -lR build