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

3
stages:
4
  - buildtest
5
  - analysis
6
  - doc
7

8 9 10 11
before_script:
  - git submodule update --init --recursive
  - source .gitlab-ci-env.sh
  - mkdir -p build
12

13 14
starpu_cuda_mpi:
  stage: buildtest
PRUVOST Florent's avatar
PRUVOST Florent committed
15
  artifacts:
16
    name: starpu_cuda_mpi
PRUVOST Florent's avatar
PRUVOST Florent committed
17
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
18 19
    paths:
      - build
20
      - chameleon-build-starpu.log
21
      - chameleon_starpu_mpi.lcov
22
  script:
23
    - (cd build &&
24 25 26 27
       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
             -DCHAMELEON_USE_CUDA=ON
             -DCHAMELEON_USE_MPI=ON &&
        ctest --no-compress-output -V -j 5
28
             -R "test_shm_s|mpi_s"
29 30 31 32
             -D ExperimentalBuild
             -D ExperimentalTest
             -D ExperimentalCoverage
             -D ExperimentalSubmit
PRUVOST Florent's avatar
PRUVOST Florent committed
33
             | tee ../chameleon-build-starpu.log)
34
    - lcov --directory build --capture --output-file chameleon_starpu_mpi.lcov
35 36 37
    - (cd build &&
       make install | tee -a ../chameleon-build-starpu.log &&
       rm install/ -r)
PRUVOST Florent's avatar
PRUVOST Florent committed
38

39 40
starpu_simgrid:
  stage: buildtest
41
  artifacts:
42
    name: starpu_simgrid
43 44
    expire_in: 48 hours
    paths:
45 46
      - build
      - chameleon-build-starpu-simgrid.log
47
      - chameleon_starpu_simgrid.lcov
48
  script:
49
    - source .gitlab-ci-env.sh simu
50 51 52 53 54 55 56 57 58 59
    - (cd build &&
       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
             -DCHAMELEON_SIMULATION=ON
             -DCHAMELEON_USE_CUDA=ON
             -DCHAMELEON_USE_MPI=OFF &&
       ctest --no-compress-output -V -j 5
            -D ExperimentalBuild
            -D ExperimentalTest
            -D ExperimentalCoverage
            -D ExperimentalSubmit
PRUVOST Florent's avatar
PRUVOST Florent committed
60
            | tee ../chameleon-build-starpu-simgrid.log)
61
    - lcov --directory build --capture --output-file chameleon_starpu_simgrid.lcov
62 63 64
    - (cd build &&
       make install | tee -a ../chameleon-build-starpu-simgrid.log &&
       rm install/ -r)
65

66 67
quark:
  stage: buildtest
PRUVOST Florent's avatar
PRUVOST Florent committed
68
  artifacts:
69
    name: quark
PRUVOST Florent's avatar
PRUVOST Florent committed
70
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
71
    paths:
72 73
      - build
      - chameleon-build-quark.log
74
      - chameleon_quark.lcov
PRUVOST Florent's avatar
PRUVOST Florent committed
75
  script:
76 77 78 79
    - (cd build &&
       cmake -C ../cmake_modules/gitlab-ci-initial-cache.cmake ..
            -DCHAMELEON_SCHED_QUARK=ON &&
       ctest --no-compress-output -V -j 5
80
             -R "test_shm_s"
81 82 83 84
             -D ExperimentalBuild
             -D ExperimentalTest
             -D ExperimentalCoverage
             -D ExperimentalSubmit
PRUVOST Florent's avatar
PRUVOST Florent committed
85
             | tee ../chameleon-build-quark.log)
86
    - lcov --directory build --capture --output-file chameleon_quark.lcov
87 88 89
    - (cd build &&
       make install | tee -a ../chameleon-build-quark.log &&
       rm install/ -r)
PRUVOST Florent's avatar
PRUVOST Florent committed
90

91 92 93
sonar:
  stage: analysis
  dependencies:
94 95 96
    - starpu_cuda_mpi
    - starpu_simgrid
    - quark
PRUVOST Florent's avatar
PRUVOST Florent committed
97 98 99 100 101 102 103 104 105 106
  artifacts:
    name: chameleon_analysis
    expire_in: 1 week
    paths:
      - chameleon-build.log
      - chameleon-coverage.xml
      - chameleon-cppcheck.xml
      - chameleon-rats.xml
      - sonar.log
  script:
107
    - cat *.log > chameleon-build.log
108 109 110 111
    - lcov -a $PWD/chameleon_starpu_mpi.lcov
           -a $PWD/chameleon_starpu_simgrid.lcov
           -a $PWD/chameleon_quark.lcov
           -o $PWD/chameleon.lcov
112
    - lcov_cobertura.py chameleon.lcov --output chameleon-coverage.xml
PRUVOST Florent's avatar
PRUVOST Florent committed
113
    - ./tools/analysis.sh
PRUVOST Florent's avatar
PRUVOST Florent committed
114 115
  only:
    - master@solverstack/chameleon
116

117
doc:
118
  stage: doc
119 120 121 122 123 124 125 126
  artifacts:
    name: chameleon_doc
    expire_in: 1 week
    paths:
      - build/doc/doxygen
      - build/doc/orgmode
  script:
    - cd build
127
    - cmake .. -DCHAMELEON_ENABLE_DOC=ON
128
    - make doc -j5
129
  only:
130
    - master@solverstack/chameleon