add documentation #247
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
name: test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
build-linux: | |
if: > | |
github.repository == 'DataMedSci/yagit' && | |
!contains(github.event.head_commit.message, '[ci skip]') && | |
!contains(github.event.head_commit.message, '[skip ci]') | |
name: Build yagit on Linux | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
gamma-version: | |
- "SEQUENTIAL" | |
- "THREADS" | |
- "SIMD" | |
- "THREADS_SIMD" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Check versions | |
run: | | |
gcc --version | |
g++ --version | |
cmake --version | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install libgdcm-dev | |
# install from source, because apt has old version | |
- name: Install xsimd | |
if: ${{ endsWith(matrix.gamma-version, 'SIMD') }} | |
run: | | |
git clone https://github.com/xtensor-stack/xsimd.git -b 11.1.0 | |
cd xsimd | |
mkdir build && cd build | |
cmake .. | |
make | |
sudo make install | |
# install from source, because apt has old version | |
- name: Install GoogleTest and GoogleMock | |
run: | | |
git clone https://github.com/google/googletest.git -b v1.13.0 | |
cd googletest | |
mkdir build && cd build | |
cmake .. | |
make | |
sudo make install | |
- name: Configure and build with CMake | |
run: | | |
mkdir build && cd build | |
cmake .. -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \ | |
-DGAMMA_VERSION=${{ matrix.gamma-version }} \ | |
-DSIMD_EXTENSION=${{ endsWith(matrix.gamma-version, 'SIMD') && 'AVX2' || 'DEFAULT' }} \ | |
-DBUILD_EXAMPLES=ON \ | |
-DBUILD_TESTING=ON \ | |
-DBUILD_PERFORMANCE_TESTING=ON | |
cmake --build . -j | |
- name: Run unit tests | |
run: | | |
ctest --test-dir build --output-on-failure | |
- name: Run example | |
run: | | |
./build/examples/gammaImage | |
- name: Install yagit | |
run: | | |
cmake --install build --prefix ./yagit_install_dir | |
run-setup-linux: | |
if: > | |
github.repository == 'DataMedSci/yagit' && | |
!contains(github.event.head_commit.message, '[ci skip]') && | |
!contains(github.event.head_commit.message, '[skip ci]') | |
name: Run setup.sh on Linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Check versions | |
run: | | |
gcc --version | |
g++ --version | |
cmake --version | |
- name: Run setup.sh script | |
run: | | |
./setup.sh | |
build-windows: | |
if: > | |
github.repository == 'DataMedSci/yagit' && | |
!contains(github.event.head_commit.message, '[ci skip]') && | |
!contains(github.event.head_commit.message, '[skip ci]') | |
name: Build yagit on Windows | |
runs-on: windows-2019 | |
defaults: | |
run: | |
shell: cmd | |
strategy: | |
matrix: | |
gamma-version: | |
- "SEQUENTIAL" | |
- "THREADS" | |
- "SIMD" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Check versions | |
run: | | |
cmake --version | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9' | |
- name: Install dependencies | |
run: | | |
python -m pip install "conan<2" | |
mkdir build && cd build | |
conan install .. | |
- name: Configure and build with CMake | |
working-directory: ${{ github.workspace }}/build | |
run: | | |
cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake ^ | |
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} ^ | |
-DGAMMA_VERSION=${{ matrix.gamma-version }} ^ | |
-DSIMD_EXTENSION=${{ endsWith(matrix.gamma-version, 'SIMD') && 'AVX2' || 'DEFAULT' }} ^ | |
-DBUILD_EXAMPLES=ON ^ | |
-DBUILD_TESTING=ON ^ | |
-DBUILD_PERFORMANCE_TESTING=ON | |
cmake --build . --config ${{ env.BUILD_TYPE }} -j | |
- name: Run unit tests | |
run: | | |
ctest -C ${{ env.BUILD_TYPE }} --test-dir build --output-on-failure | |
- name: Run example | |
run: | | |
build\examples\${{ env.BUILD_TYPE }}\gammaImage.exe | |
- name: Install yagit | |
run: | | |
cmake --install build --prefix ./yagit_install_dir |