Cayley/sqr #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##====================================================================================================================== | |
## Kyosu - Complex Without Complexes | |
## Copyright : KYOSU Contributors & Maintainers | |
## SPDX-License-Identifier: BSL-1.0 | |
##====================================================================================================================== | |
name: KYOSU Unit Testing | |
on: | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: kyosu-unit-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
windows: | |
runs-on: [windows-2022] | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { tool: "-T ClangCL", config: Debug } | |
- { tool: "-T ClangCL", config: Release } | |
# - { tool: , config: Debug } | |
# - { tool: , config: Release } | |
steps: | |
- name: Fetch current branch | |
uses: actions/checkout@v3 | |
- name: Running CMake for MSVC | |
run: | | |
mkdir build && cd build | |
cmake -G "Visual Studio 17 2022" ${{ matrix.cfg.tool }} -A x64 .. | |
- name: Compiling Unit Tests | |
run: | | |
cd build | |
cmake --build . --target kyosu-test --config ${{ matrix.cfg.config }} --parallel 2 | |
cmake --build . --target kyosu-test --config Release --parallel 2 | |
- name: Running Tests | |
run: | | |
cd build | |
ctest -C ${{ matrix.cfg.config }} --output-on-failure | |
linux: | |
runs-on: [ubuntu-latest] | |
container: | |
image: ghcr.io/jfalcou/compilers:v6 | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { compiler: g++-12 , opts: -O0 , linker: } | |
- { compiler: clang++ , opts: -O0 , linker: } | |
- { compiler: clang++ , opts: "-O3 -flto -DNDEBUG" , linker: } | |
- { compiler: g++-12 , opts: "-O3 -flto -DNDEBUG" , linker: } | |
- { compiler: clang++ , opts: "-O3 -flto -DNDEBUG -stdlib=libc++" , linker: -stdlib=libc++ } | |
- { compiler: clang++ , opts: "-O0 -stdlib=libc++" , linker: -stdlib=libc++ } | |
steps: | |
- name: Fetch current branch | |
uses: actions/checkout@v3 | |
- name: Running CMake for ${{ matrix.cfg.compiler }} with ${{ matrix.cfg.opts }} | |
run: | | |
mkdir build && cd build | |
cmake .. -G Ninja -DCMAKE_CXX_COMPILER=${{ matrix.cfg.compiler }} -DCMAKE_CXX_FLAGS="${{ matrix.cfg.opts }}" -DCMAKE_EXE_LINKER_FLAGS=${{ matrix.cfg.linker }} | |
- name: Running Unit Tests | |
run: cd build && ninja kyosu-test -j 2 && ctest --output-on-failure -j 2 | |
macosx: | |
runs-on: [macos-12] | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { compiler: g++-12 , opts: -O0 , linker: } | |
# - { compiler: g++-12 , opts: "-O3 -DNDEBUG" , linker: } | |
# - { compiler: clang++ , opts: -O0 , linker: } | |
# - { compiler: clang++ , opts: "-O3 -flto -DNDEBUG" , linker: } | |
# - { compiler: clang++ , opts: "-O3 -flto -DNDEBUG -stdlib=libc++" , linker: -stdlib=libc++ } | |
# - { compiler: clang++ , opts: "-O0 -stdlib=libc++" , linker: -stdlib=libc++ } | |
steps: | |
- name: Fetch current branch | |
uses: actions/checkout@v3 | |
- name: Running CMake for ${{ matrix.cfg.compiler }} with ${{ matrix.cfg.opts }} | |
run: | | |
mkdir build && cd build | |
cmake .. -DCMAKE_CXX_COMPILER=${{ matrix.cfg.compiler }} -DCMAKE_CXX_FLAGS="${{ matrix.cfg.opts }}" -DCMAKE_EXE_LINKER_FLAGS=${{ matrix.cfg.linker }} | |
- name: Running Unit Tests | |
run: cd build && make kyosu-test -j 2 && ctest --output-on-failure -j 2 | |
# android: | |
# runs-on: [macos-12] | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# cfg: | |
# - { opts: -O0 } | |
# - { opts: "-O3 -flto -DNDEBUG"} | |
# steps: | |
# - name: Fetch current branch | |
# uses: actions/checkout@v3 | |
# - name: Running CMake for ${{ matrix.cfg.compiler }} with ${{ matrix.cfg.opts }} | |
# run: | | |
# mkdir build && cd build | |
# cmake .. -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a | |
# - name: Compiling Unit Tests | |
# run: cd build && make kyosu-test -j 2 |