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

3
before_script:
4
  - source /usr/share/modules/init/bash && source /usr/local/share/spack/setup-env.sh && spack load cmake@3.14.4
5

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

9 10
stages:
  - build
ESTERIE Pierre's avatar
ESTERIE Pierre committed
11
  - pages
12
  - test
13
  - sonar
14

15 16
build:
  stage: build
17 18 19 20 21
  artifacts:
    name: scalfmm_build
    expire_in: 1 day
    paths:
      - Build/
22
  script:
23 24 25
    - cd Build && cmake ..
        -DSCALFMM_USE_LOG=ON
        -DSCALFMM_USE_ASSERT=ON
ESTERIE Pierre's avatar
ESTERIE Pierre committed
26 27
        -DINASTEMP_USE_AVX2=OFF
        -DINASTEMP_USE_AVX=OFF
28 29 30
        -DSCALFMM_USE_BLAS=ON
        -DSCALFMM_USE_FFT=ON
        -DSCALFMM_USE_MPI=ON
31
        -DSCALFMM_USE_STARPU=ON
32
        -DSCALFMM_BUILD_EXAMPLES=ON
33 34
        -DSCALFMM_BUILD_TESTS=ON
        -DSCALFMM_BUILD_UTESTS=ON
35
        -DCMAKE_VERBOSE_MAKEFILE=ON
ESTERIE Pierre's avatar
ESTERIE Pierre committed
36 37
        -DCMAKE_C_COMPILER=gcc
        -DCMAKE_CXX_COMPILER=g++
38 39 40
    - make -j5 2>&1 |tee scalfmm-build.log

doc:
ESTERIE Pierre's avatar
ESTERIE Pierre committed
41
  stage: build
42 43 44 45 46 47 48 49
  artifacts:
    name: scalfmm_doc
    expire_in: 1 day
    paths:
      - Build/Doc/html
  script:
    - cd Build && cmake ..
        -DSCALFMM_BUILD_DOC=ON
ESTERIE Pierre's avatar
ESTERIE Pierre committed
50 51
        -DCMAKE_C_COMPILER=gcc
        -DCMAKE_CXX_COMPILER=g++
52
    - make doc 
53

ESTERIE Pierre's avatar
ESTERIE Pierre committed
54
pages:
ESTERIE Pierre's avatar
ESTERIE Pierre committed
55
  stage: pages
ESTERIE Pierre's avatar
ESTERIE Pierre committed
56
  dependencies:
57
    - doc
ESTERIE Pierre's avatar
ESTERIE Pierre committed
58 59 60
  artifacts:
    paths:
      - public
ESTERIE Pierre's avatar
ESTERIE Pierre committed
61
  script:
ESTERIE Pierre's avatar
ESTERIE Pierre committed
62
    - mkdir public
63
    - mv Build/Doc/html/* public/
ESTERIE Pierre's avatar
ESTERIE Pierre committed
64
  only:
65
    - master
ESTERIE Pierre's avatar
ESTERIE Pierre committed
66

67 68
test:
  stage: test
69 70
  dependencies:
    - build
71 72 73
  artifacts:
    name: scalfmm_test
    expire_in: 1 day
74 75 76 77 78 79 80 81 82 83 84 85
    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
86 87 88
    paths:
      - scalfmm-build.log
      - scalfmm-coverage.xml
COULAUD Olivier's avatar
COULAUD Olivier committed
89
      - scalfmm-cppcheck.xml
90
      - scalfmm-rats.xml
91
      - sonar-project.properties
92
      - sonar.log
93
  script:
94
    - mv Build/scalfmm-build.log .
95
    - source ./Utils/scripts/analysis.sh
96 97
    - sonar-scanner |tee sonar.log;
  only:
98
    - develop@solverstack/ScalFMM