.gitlab-ci.yml 1.83 KB
Newer Older
1
image: hpclib/hiepacs
2

3
before_script:
ESTERIE Pierre's avatar
ESTERIE Pierre committed
4
  - source /usr/share/modules/init/bash && source /usr/local/share/spack/setup-env.sh && spack load cmake@3.14.1
5

PRUVOST Florent's avatar
PRUVOST Florent committed
6 7 8
variables:
  GIT_SUBMODULE_STRATEGY: normal

9 10 11
stages:
  - build
  - test
12
  - sonar
13

14 15
build:
  stage: build
16 17 18 19 20
  artifacts:
    name: scalfmm_build
    expire_in: 1 day
    paths:
      - Build/
21
  script:
22 23 24
    - cd Build && cmake ..
        -DSCALFMM_USE_LOG=ON
        -DSCALFMM_USE_ASSERT=ON
25
        -DSCALFMM_USE_SSE=OFF
26
        -DSCALFMM_USE_AVX=OFF
27 28 29
        -DSCALFMM_USE_BLAS=ON
        -DSCALFMM_USE_FFT=ON
        -DSCALFMM_USE_MPI=ON
30
        -DSCALFMM_USE_STARPU=ON
31
        -DSCALFMM_BUILD_EXAMPLES=ON
32 33
        -DSCALFMM_BUILD_TESTS=ON
        -DSCALFMM_BUILD_UTESTS=ON
34
        -DCMAKE_VERBOSE_MAKEFILE=ON
35 36
        -DCMAKE_C_COMPILER=gcc-6
        -DCMAKE_CXX_COMPILER=g++-6
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
    - make -j5 2>&1 |tee scalfmm-build.log

doc:
  stage: build
  artifacts:
    name: scalfmm_doc
    expire_in: 1 day
    paths:
      - Build/Doc/html
  script:
    - cd Build && cmake ..
        -DSCALFMM_BUILD_DOC=ON
        -DCMAKE_C_COMPILER=gcc-6
        -DCMAKE_CXX_COMPILER=g++-6
    - make doc
52 53 54

test:
  stage: test
55 56
  dependencies:
    - build
57 58 59
  artifacts:
    name: scalfmm_test
    expire_in: 1 day
60 61 62 63 64 65 66 67 68 69 70 71
    paths:
      - Build/
  script:
    - (cd Build && OMP_NUM_THREADS=4 ctest --no-compress-output -V -j 5 -D ExperimentalBuild -D ExperimentalTest -D ExperimentalCoverage -D ExperimentalSubmit)

sonar:
  stage: sonar
  dependencies:
    - test
  artifacts:
    name: scalfmm_sonar
    expire_in: 1 day
72 73 74
    paths:
      - scalfmm-build.log
      - scalfmm-coverage.xml
COULAUD Olivier's avatar
COULAUD Olivier committed
75
      - scalfmm-cppcheck.xml
76
      - scalfmm-rats.xml
77
      - sonar-project.properties
78
      - sonar.log
79
  script:
80
    - mv Build/scalfmm-build.log .
81
    - source ./Utils/scripts/analysis.sh
82 83
    - sonar-scanner |tee sonar.log;
  only:
84
    - develop@solverstack/ScalFMM