Migration to V2.0 #20
This file contains hidden or 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
##====================================================================================================================== | |
## RABERU - Fancy Parameters Library | |
## Copyright : RABERU Contributors & Maintainers | |
## SPDX-License-Identifier: BSL-1.0 | |
##====================================================================================================================== | |
name: RABERU Unit Testing | |
on: | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: raberu-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 raberu-test --config ${{ matrix.cfg.config }} --parallel 2 | |
cmake --build . --target raberu-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:v8 | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { compiler: g++ , opts: -O0 , linker: } | |
- { compiler: clang++ , opts: -O0 , linker: } | |
- { compiler: clang++ , opts: "-O3 -flto -DNDEBUG" , linker: } | |
- { compiler: g++ , 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 raberu-test -j 2 && ctest --output-on-failure -j 2 | |
macosx: | |
runs-on: [macos-14] | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { 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 raberu-test -j 2 && ctest --output-on-failure -j 2 | |
android: | |
runs-on: [macos-14] | |
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 Android 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 raberu-test -j 2 | |
wasm: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/jfalcou/compilers:v8 | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- { opts: -O0 } | |
- { opts: "-O3 -flto -DNDEBUG"} | |
steps: | |
- name: Fetch current branch | |
uses: actions/checkout@v3 | |
- name: RABERU using em++ with ${{ matrix.cfg.opts }} | |
run: | | |
mkdir build | |
cd build | |
emcmake cmake .. -G Ninja -DCMAKE_CXX_COMPILER=em++ -DCMAKE_CXX_FLAGS="${{ matrix.cfg.opts }}" -DCMAKE_CROSSCOMPILING_CMD="`pwd`/../cmake/run_wasm.sh" | |
- name: Compile Unit Tests | |
run: | | |
cd build | |
ninja raberu-test -j 2 | |
- name: Running Unit Tests | |
run: | | |
cd build | |
ctest --output-on-failure -j 2 | |
icpx: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/jfalcou/compilers:sycl-v1 | |
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 icpx with ${{ matrix.cfg.opts }} | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
mkdir build | |
cd build | |
cmake .. -G Ninja -DCMAKE_CXX_COMPILER=icpx -DCMAKE_CXX_FLAGS="${{ matrix.cfg.opts }}" | |
- name: Running Unit Tests | |
run: | | |
cd build | |
ninja raberu-test -j 2 && ctest --output-on-failure -j 2 |