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

3
4
5
6
stages:
  - build
  - test
  - analysis
7
  - doc
8

9
build_starpu_mpi:
10
  stage: build
11
  artifacts:
12
    name: starpu_mpi_build
PRUVOST Florent's avatar
PRUVOST Florent committed
13
    expire_in: 48 hours
14
15
    paths:
      - build
16
      - chameleon-build-starpu.log
17
  script:
18
19
20
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
21
    - cd build
22
    - cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
23
    - make -j2 | tee ../chameleon-build-starpu.log
24
    - make install | tee -a ../chameleon-build-starpu.log && rm install/ -r
25

26
27
28
29
30
31
32
33
34
35
36
37
38
39
build_starpu_cuda:
  stage: build
  artifacts:
    name: starpu_cuda_build
    expire_in: 48 hours
    paths:
      - build
      - chameleon-build-starpu-cuda.log
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
40
    - make -j2 | tee ../chameleon-build-starpu-cuda.log
41
    - make install | tee -a ../chameleon-build-starpu-cuda.log && rm install/ -r
42

43
44
45
46
47
48
49
50
51
52
53
54
55
56
build_starpu_simgrid:
  stage: build
  artifacts:
    name: starpu_simgrid_build
    expire_in: 48 hours
    paths:
      - build
      - chameleon-build-starpu-simgrid.log
  script:
    - source .gitlab-ci-env.sh simu
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
57
    - make -j2 | tee ../chameleon-build-starpu-simgrid.log
58
    - make install | tee -a ../chameleon-build-starpu-simgrid.log && rm install/ -r
59

PRUVOST Florent's avatar
PRUVOST Florent committed
60
61
62
63
build_quark:
  stage: build
  artifacts:
    name: quark_build
PRUVOST Florent's avatar
PRUVOST Florent committed
64
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
65
66
    paths:
      - build
67
      - chameleon-build-quark.log
PRUVOST Florent's avatar
PRUVOST Florent committed
68
69
70
71
72
73
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON -DCHAMELEON_SCHED_QUARK=ON
74
    - make -j2 | tee ../chameleon-build-quark.log
75
    - make install | tee -a ../chameleon-build-quark.log && rm install/ -r
PRUVOST Florent's avatar
PRUVOST Florent committed
76

77
test_starpu_mpi:
78
79
  stage: test
  dependencies:
80
    - build_starpu_mpi
PRUVOST Florent's avatar
PRUVOST Florent committed
81
  artifacts:
82
    name: starpu_mpi_test
PRUVOST Florent's avatar
PRUVOST Florent committed
83
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
84
    paths:
85
      - coverage_starpu_mpi.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
86
      - chameleon_starpu_mpi.lcov
87
88
89
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
90
    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -R test_shm_s || /usr/bin/true && ctest --no-compress-output -R mpi_s || /usr/bin/true)
91
    - find -name "*.gcda" | xargs tar cvjf coverage_starpu_mpi.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
92
    - lcov --directory build --capture --output-file chameleon_starpu_mpi.lcov
PRUVOST Florent's avatar
PRUVOST Florent committed
93

94
95
96
97
98
test_starpu_simgrid:
  stage: test
  dependencies:
    - build_starpu_simgrid
  artifacts:
99
    name: starpu_simgrid_test
100
101
    expire_in: 48 hours
    paths:
102
      - coverage_starpu_simgrid.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
103
      - chameleon_starpu_simgrid.lcov
104
105
106
107
  script:
    - source .gitlab-ci-env.sh simu
    - git submodule update --init --recursive
    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -V || /usr/bin/true)
108
    - find -name "*.gcda" | xargs tar cvjf coverage_starpu_simgrid.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
109
    - lcov --directory build --capture --output-file chameleon_starpu_simgrid.lcov
110

PRUVOST Florent's avatar
PRUVOST Florent committed
111
112
113
114
115
test_quark:
  stage: test
  dependencies:
    - build_quark
  artifacts:
116
    name: quark_test
PRUVOST Florent's avatar
PRUVOST Florent committed
117
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
118
    paths:
119
      - coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
120
      - chameleon_quark.lcov
PRUVOST Florent's avatar
PRUVOST Florent committed
121
122
123
124
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - (cd build && ctest --no-compress-output -R test_shm_s)
125
    - find -name "*.gcda" | xargs tar cvjf coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
126
    - lcov --directory build --capture --output-file chameleon_quark.lcov
PRUVOST Florent's avatar
PRUVOST Florent committed
127

128
129
130
sonar:
  stage: analysis
  dependencies:
131
    - build_starpu_mpi
132
    - build_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
133
    - build_quark
PRUVOST Florent's avatar
PRUVOST Florent committed
134
    - test_starpu_mpi
135
    - test_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
136
    - test_quark
PRUVOST Florent's avatar
PRUVOST Florent committed
137
138
139
140
141
142
143
144
145
146
147
  artifacts:
    name: chameleon_analysis
    expire_in: 1 week
    paths:
      - chameleon-build.log
      - chameleon-coverage.xml
      - chameleon-cppcheck.xml
      - chameleon-rats.xml
      - sonar.log
  script:
    - source .gitlab-ci-env.sh
148
149
150
    - tar xvjf coverage_starpu_simgrid.tar.bz2
    - tar xvjf coverage_starpu_mpi.tar.bz2
    - tar xvjf coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
151
152
    - lcov -a chameleon_starpu_mpi.lcov -a chameleon_starpu_simgrid.lcov -a chameleon_quark.lcov -o chameleon.lcov
    - genhtml -o coverage chameleon.lcov
153
    - lcov_cobertura.py chameleon.lcov --output chameleon-coverage.xml
PRUVOST Florent's avatar
PRUVOST Florent committed
154
    - ./tools/analysis.sh
155
  only:
156
    - master
PRUVOST Florent's avatar
PRUVOST Florent committed
157
    - issue53/fix-ci
158

159
doc:
160
  stage: doc
161
162
163
164
165
166
167
168
169
170
171
  artifacts:
    name: chameleon_doc
    expire_in: 1 week
    paths:
      - build/doc/doxygen
      - build/doc/orgmode
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
172
    - cmake .. -DCHAMELEON_ENABLE_DOC=ON
173
    - make doc