72 lines
1.6 KiB
YAML
72 lines
1.6 KiB
YAML
|
name: ContinuousIntegration
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches: [ master ]
|
||
|
pull_request:
|
||
|
branches: [ master ]
|
||
|
|
||
|
env:
|
||
|
BUILD_TYPE: Debug
|
||
|
|
||
|
jobs:
|
||
|
linux:
|
||
|
timeout-minutes: 10
|
||
|
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
|
||
|
- name: Configure CMake
|
||
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
||
|
|
||
|
- name: Build
|
||
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
|
||
|
|
||
|
- name: Test
|
||
|
working-directory: ${{github.workspace}}/build
|
||
|
run: ctest -C ${{env.BUILD_TYPE}}
|
||
|
|
||
|
macos:
|
||
|
timeout-minutes: 10
|
||
|
|
||
|
runs-on: macos-latest
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
|
||
|
- name: Configure CMake
|
||
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
||
|
|
||
|
- name: Build
|
||
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 3
|
||
|
|
||
|
- name: Test
|
||
|
working-directory: ${{github.workspace}}/build
|
||
|
run: ctest -C ${{env.BUILD_TYPE}}
|
||
|
|
||
|
windows:
|
||
|
timeout-minutes: 10
|
||
|
|
||
|
runs-on: windows-latest
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
|
||
|
# setup vs env
|
||
|
- uses: ilammy/msvc-dev-cmd@v1
|
||
|
with:
|
||
|
arch: amd64
|
||
|
|
||
|
- name: Configure CMake
|
||
|
run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
|
||
|
|
||
|
- name: Build
|
||
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 3
|
||
|
|
||
|
- name: Test
|
||
|
working-directory: ${{github.workspace}}/build
|
||
|
run: ctest -C ${{env.BUILD_TYPE}}
|
||
|
|