variables:
GIT_SUBMODULE_STRATEGY: recursive
LLNL_SLURM_SCHEDULER_PARAMETERS: "--nodes=1 -t 00:20:00"
LLNL_SERVICE_USER: zfp
stages:
- build
- test
.build:
stage: build
artifacts:
when: always
paths:
- build
.build_cpu:
before_script:
- |-
if [ "$ci_c_cmp" != "gcc" ]; then
module --latest load gcc
if (( $(gcc -dumpversion | sed 's/\..*//') < 5 )); then
echo "unable to find new enough gcc to support ${ci_c_cmp} build"
exit 1
fi
export GXX_PATH=$(dirname $(which gcc))/../
fi
- module reset
- module load $ci_cmake
- module load $ci_cmp_mod
- |-
if [ "$ci_lang" == "cpp" ]; then
export CXX=$(which $ci_cxx_cmp)
export CC=$(which $ci_c_cmp)
if [ -z ${CXX} ]; then
echo "cxx compiler not set"
exit 1
elif [ -z ${CC} ]; then
echo "c compiler not set"
exit 1
fi
elif [ "$ci_lang" == "c" ]; then
export CC=$(which $ci_c_cmp)
if [ -z ${CC} ]; then
echo "c compiler not set"
exit 1
fi
fi
script:
- mkdir build
- cd build
- |-
export ci_cmake_cmp_flags=""
if [ "$ci_c_cmp" == "icc" ]; then
export ci_cmake_cmp_flags="-DCMAKE_CXX_FLAGS=-gcc-name=${GXX_PATH}/bin/gcc -DCMAKE_C_FLAGS=-gcc-name=${GXX_PATH}/bin/gcc"
elif [ "$ci_c_cmp" == "clang" ]; then
export ci_cmake_cmp_flags="-DCMAKE_CXX_FLAGS=--gcc-toolchain=${GXX_PATH} -DCMAKE_C_FLAGS=--gcc-toolchain=${GXX_PATH}"
fi
- cmake -DBUILD_TESTING_FULL=ON -DBUILD_UTILITIES=OFF -DZFP_WITH_CUDA=OFF ${ci_cmake_flags} ${ci_cmake_cmp_flags} ..
- cmake --build .
extends: [.build]
.build_gpu:
before_script:
- module reset
- module load $ci_cmake
- module load $ci_cmp_mod
- module load $ci_gcc_mod
script:
- mkdir build
- cd build
- cmake -DBUILD_TESTING_FULL=ON -DZFP_WITH_OPENMP=OFF -DBUILD_UTILITIES=OFF ${ci_cmake_flags} ..
- make -j
extends: [.build]
.test:
stage: test
artifacts:
when: on_failure
paths:
- build/Testing
.test_cpu:
script:
- cd build
- ctest -E "(Cuda|Hip)" -R "${ci_test_regex}"
extends: [.test]
.test_gpu:
script:
- cd build
- ctest -R "${ci_test_regex}"
extends: [.test]
.cpp:
variables:
ci_lang: "cpp"
ci_cmake_flags: "-DBUILD_CFP=OFF -DBUILD_ZFPY=OFF -DBUILD_ZFORP=OFF"
.c:
variables:
ci_lang: "c"
ci_cmake_flags: "-DBUILD_CFP=ON -DBUILD_ZFPY=OFF -DBUILD_ZFORP=OFF -DZFP_WITH_OPENMP=OFF"
.cuda:
variables:
ci_lang: "cuda"
ci_cmake_flags: "-DZFP_WITH_CUDA=ON"
include:
- project: 'lc-templates/id_tokens'
file: 'id_tokens.yml'
- local: tests/gitlab/matrix-templates.yml
- local: tests/gitlab/matrix-jobs.yml
- local: tests/gitlab/dane-templates.yml
- local: tests/gitlab/dane-jobs.yml