Skip to content

CI

CI #47

Workflow file for this run

name: Main CI
on:
push:
branches:
- master
- v2
pull_request:
branches:
- master
env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
linux:
strategy:
fail-fast: false
matrix:
toolset: [ CLANG, GCC ]
build_type: [ Debug, Release ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install ninja-build tool
uses: seanmiddleditch/gha-setup-ninja@v3
- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: Create Build Environment
run: cmake -E make_directory out/build/linux-x64-${{matrix.build_type}}-${{matrix.toolset}}/
- name: Configure
working-directory: out/build/linux-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.build_type}} --preset linux-x64-${{matrix.build_type}}-${{matrix.toolset}}
- name: Build
working-directory: out/build/linux-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: cmake --build . --config ${{matrix.build_type}}
- name: Test
working-directory: out/build/linux-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: ctest -C ${{matrix.build_type}} --output-on-failure
macos:
strategy:
fail-fast: false
matrix:
xcode:
- '13'
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{matrix.xcode}}
- name: Create Build Environment
run: cmake -E make_directory build
- name: Configure
working-directory: build/
run: cmake $GITHUB_WORKSPACE
- name: Build
working-directory: build/
run: cmake --build .
- name: Test
working-directory: build/
run: ctest --output-on-failure
windows:
strategy:
fail-fast: false
matrix:
toolset: [ CLANG, MSVC ]
build_type: [ Debug, Release ]
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install ninja-build tool
uses: seanmiddleditch/gha-setup-ninja@v3
- name: Enable Developer Command Prompt
uses: ilammy/[email protected]
- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: Create Build Environment
run: cmake -E make_directory out/build/win-x64-${{matrix.build_type}}-${{matrix.toolset}}/
- name: Configure
shell: bash
working-directory: out/build/win-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.build_type}} --preset win-x64-${{matrix.build_type}}-${{matrix.toolset}}
- name: Build
working-directory: out/build/win-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: cmake --build . --config ${{matrix.build_type}}
- name: Test
working-directory: out/build/win-x64-${{matrix.build_type}}-${{matrix.toolset}}/
run: ctest -C ${{matrix.build_type}} --output-on-failure