Skip to content

missing doc tests

missing doc tests #417

Workflow file for this run

####################################################################################################
## EVE - Expressive Vector Engine
## Copyright : EVE Project Contributors
## SPDX-License-Identifier: BSL-1.0
####################################################################################################
name: EVE - Unit Tests
on:
pull_request:
branches:
- main
concurrency:
group: unit-${{ github.ref }}
cancel-in-progress: true
jobs:
##################################################################################################
## Check no PCH mode
##################################################################################################
no_pch:
runs-on: ubuntu-latest
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang, arch: x86 , opts: -msse2 }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DEVE_USE_PCH=0 \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 4
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 4 -E ^doc.*.exe
##################################################################################################
## Mac OS X Targets
##################################################################################################
macosx:
runs-on: [macos-12]
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang , arch: x86_osx, opts: -mavx }
- { comp: gcc , arch: x86_osx, opts: -mavx }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && make unit.exe -j 2
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 2 -E ^doc.*.exe
##################################################################################################
## Windows Targets
##################################################################################################
# msvc:
# runs-on: [windows-2022]
# strategy:
# fail-fast: false
# matrix:
# cfg:
# - { mode: Debug, options: "-DEVE_NO_FORCEINLINE"}
# - { mode: Release, options: ""}
# steps:
# - name: Fetch current branch
# uses: actions/checkout@v3
# - name: Running CMake for MSVC ${{ matrix.cfg.mode }} ${{ matrix.cfg.options }}
# run: |
# mkdir build && cd build
# cmake -G "Visual Studio 17 2022" -A x64 .. -DCMAKE_CXX_FLAGS="${{ matrix.cfg.options }}"
# - name: Compiling Unit Tests
# run: |
# cd build
# cmake --build . --target unit.arch.exe --config ${{ matrix.cfg.mode }} --parallel 2
# cmake --build . --target unit.meta.exe --config ${{ matrix.cfg.mode }} --parallel 2
# cmake --build . --target unit.internals.exe --config ${{ matrix.cfg.mode }} --parallel 2
# - name: Running Tests
# run: |
# cd build
# ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.arch.*.exe
# ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.meta.*.exe
# ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.internals.*.exe
##################################################################################################
## X86 Targets
## There is a lot to do so we try to maximize the order & occupancy of our runners
##################################################################################################
##################################################################################################
## Phase 1 - Pre-Skylake SIMD ISA - clang
##################################################################################################
x86-clang:
runs-on: [self-hosted, generic-x86]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang , arch: x86, opts: -msse2 }
- { comp: clang , arch: x86, opts: -msse4.2 }
- { comp: clang , arch: x86, opts: -mavx }
- { comp: clang , arch: x86, opts: -mavx2 }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 8
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 8 -E ^doc.*.exe
##################################################################################################
## Phase 2 - Non-X86 - Requires gcc and qemu
##################################################################################################
other-arch:
needs: x86-clang
runs-on: [self-hosted, generic-x86]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: gcc, arch: aarch64 , opts: -Wno-psabi}
- { comp: gcc, arch: arm , opts: -Wno-psabi}
- { comp: gcc, arch: ppc64 , opts: -Wno-psabi}
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 8
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 8 -E ^doc.*.exe
##################################################################################################
## Phase 3 - Pre-Skylake SIMD ISA - g++
##################################################################################################
x86-gcc:
needs: other-arch
runs-on: [self-hosted, generic-x86]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: gcc , arch: x86, opts: -msse2 }
- { comp: gcc , arch: x86, opts: -msse4.2 }
- { comp: gcc , arch: x86, opts: -mavx }
- { comp: gcc , arch: x86, opts: -mavx2 }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 8
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 8 -E ^doc.*.exe
##################################################################################################
## Phase 3 - Pre-Skylake SIMD ISA - Special cases
##################################################################################################
x86-custom:
needs: x86-gcc
runs-on: [self-hosted, generic-x86]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang_libcpp, arch: x86 , opts: -msse2 }
- { comp: clang , arch: x86_asan, opts: -msse2 }
- { comp: clang , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }
- { comp: gcc , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
run: cd build && ninja unit.exe -j 8
- name: Running Unit Tests
run: cd build && ctest --output-on-failure -j 8 -E ^doc.*.exe
##################################################################################################
## Post-Skylake SIMD ISA & Full emulation tests
##################################################################################################
avx512:
runs-on: [self-hosted, avx512]
strategy:
fail-fast: false
matrix:
cfg:
- { comp: clang , arch: x86 , opts: -march=skylake-avx512 }
- { comp: clang , arch: x86 , opts: -DEVE_NO_SIMD }
- { comp: clang , arch: x86_asan, opts: -march=skylake-avx512 }
- { comp: gcc , arch: x86 , opts: -march=skylake-avx512 }
- { comp: gcc , arch: x86 , opts: -DEVE_NO_SIMD }
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build && cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compiling Unit Tests
if: "${{ matrix.cfg.arch != 'x86_asan' }}"
run: cd build && ninja unit.exe -j 5
- name: Running Unit Tests
if: "${{ matrix.cfg.arch != 'x86_asan' }}"
run: cd build && ctest --output-on-failure -j 4 -E ^doc.*.exe
- name: Compiling Sanitizer Tests
if: "${{ matrix.cfg.arch == 'x86_asan' }}"
run: cd build && ninja unit.memory.exe -j 5
- name: Running Sanitizer Tests
if: "${{ matrix.cfg.arch == 'x86_asan' }}"
run: cd build && ctest --output-on-failure -R ^unit.memory.*.exe -j 4
##################################################################################################
## ARM SVE Tests
## Currently: SVE128/256/512
##################################################################################################
arm-sve:
needs: x86-custom
runs-on: [self-hosted, generic-x86]
container:
image: ghcr.io/jfalcou/compilers:v7
options: -u root
strategy:
fail-fast: false
matrix:
cfg:
- { comp: gcc, arch: sve256, opts: -Wno-psabi}
- { comp: gcc, arch: sve512, opts: -Wno-psabi}
steps:
- name: Fetch current branch
uses: actions/checkout@v3
- name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }}
run: |
mkdir build
cd build
cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake
- name: Compile Unit Tests
run: |
cd build
ninja unit.exe -j 12
- name: Running Random Sampling Tests
run: |
cd build
ctest --output-on-failure -j 12 -E ^doc.*.exe