.gitlab-ci.yml 1.77 KB
Newer Older
1
image: hpclib/scalfmm
2

3 4 5
stages:
  - build
  - test
6
  - sonar
7

8 9
build:
  stage: build
10 11 12 13 14
  artifacts:
    name: scalfmm_build
    expire_in: 1 day
    paths:
      - Build/
15
  script:
16 17 18
    - cd Build && cmake ..
        -DSCALFMM_USE_LOG=ON
        -DSCALFMM_USE_ASSERT=ON
19
        -DSCALFMM_USE_SSE=OFF
20
        -DSCALFMM_USE_AVX=OFF
21 22 23
        -DSCALFMM_USE_BLAS=ON
        -DSCALFMM_USE_FFT=ON
        -DSCALFMM_USE_MPI=ON
24
        -DSCALFMM_USE_STARPU=ON
25
        -DSCALFMM_BUILD_EXAMPLES=ON
26 27
        -DSCALFMM_BUILD_TESTS=ON
        -DSCALFMM_BUILD_UTESTS=ON
28
        -DCMAKE_VERBOSE_MAKEFILE=ON
29 30
        -DCMAKE_C_COMPILER=gcc-6
        -DCMAKE_CXX_COMPILER=g++-6
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
    - 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
46 47 48

test:
  stage: test
49 50
  dependencies:
    - build
51 52 53
  artifacts:
    name: scalfmm_test
    expire_in: 1 day
54 55 56 57 58 59 60 61 62 63 64 65
    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
66 67 68
    paths:
      - scalfmm-build.log
      - scalfmm-coverage.xml
COULAUD Olivier's avatar
COULAUD Olivier committed
69
      - scalfmm-cppcheck.xml
70
      - scalfmm-rats.xml
71
      - sonar-project.properties
72
      - sonar.log
73
  script:
74
    - mv Build/scalfmm-build.log .
75
    - source ./Utils/scripts/analysis.sh
76
    - sonar-scanner |tee sonar.log
77
    - if [[ $CI_REPOSITORY_URL = *"solverstack/ScalFMM"* ]] && [[ $CI_COMMIT_REF_NAME = *"develop"* ]]; then
78
        sonar-scanner |tee sonar.log;
79
      fi