Skip to content
Snippets Groups Projects
.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: