.gitlab-ci.yml 2.20 KiB
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_COMMIT_SHA/$CI_PROJECT_NAME
stages:
- build.debug
- run.unit.tests
- build_release
- run.functional.tests
- trigger
before_script:
- apk update
- apk add cmake
- apk add g++
- apk add gcovr
- apk add make
- apk add blas-dev
- apk add lapack-dev
- mkdir -p ${DEBUG_DIR}
- mkdir -p ${RELEASE_DIR}
- export PATH=$PATH:${INSTALL_PATH}/bin
- export CPATH=$CPATH:${INSTALL_PATH}/include
- export LIBRARY_PATH=$LIBRARY_PATH:${INSTALL_PATH}/lib
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALL_PATH}/lib
- export OMP_NUM_THREADS=${CPU_SIM}
build-debug-tests:
stage: build.debug
script:
- cd ${DEBUG_DIR}
- cmake .. -DCMAKE_CXX_FLAGS="-g -O1 -Wall -Wpedantic -pedantic-errors -Wextra --coverage" -DTADAH_ENABLE_OPENMP=ON -DTADAH_BUILD_TESTS=ON
- make -j ${CPU_BUILD}
# - rm -rf _deps
# - find . -name "*.a" -exec rm {} +
# - find . -name "*.o" -exec rm {} +
# artifacts:
# paths:
# - "${DEBUG_DIR}"
run-tests-1:
variables:
GIT_CLEAN_FLAGS: -ffdx -e ${DEBUG_DIR} -e CORE -e MODELS
stage: run.unit.tests
dependencies: [build-debug-tests]
script:
- cd ${DEBUG_DIR}
- make test
- cd ..; gcovr -e '.*tests.*|.*lib.*|.*utils.*|build' -r .
coverage: /^TOTAL.*\s+(\d+\%)$/
build-release-shared:
stage: build_release
needs: [run-tests-1]
script:
- cd ${RELEASE_DIR}
- cmake .. -DCMAKE_BUILD_TYPE=Release -DTADAH_ENABLE_OPENMP=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH}
- make -j ${CPU_BUILD}
build-release-static:
stage: build_release
needs: [build-release-shared]
script:
- cd ${RELEASE_DIR}
- cmake .. -DCMAKE_BUILD_TYPE=Release -DTADAH_ENABLE_OPENMP=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH}
- make -j ${CPU_BUILD}
trigger_job:
stage: trigger
needs: [run-tests-1, build-release-shared, build-release-static]
trigger: