.gitlab-ci.yml 18.4 KB
Newer Older
1
image: gitlab-registry.mpcdf.mpg.de/tpurcell/cpp_sisso
Thomas Purcell's avatar
Thomas Purcell committed
2
3
4

stages:
  - build
Thomas Purcell's avatar
Thomas Purcell committed
5
6
  - unit_test
  - bin_test
Thomas Purcell's avatar
Thomas Purcell committed
7
  - doc_builds
Thomas Purcell's avatar
Thomas Purcell committed
8

Thomas Purcell's avatar
Thomas Purcell committed
9
build-intel-base:
10
11
  stage: build
  script:
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    - mkdir build_intel_base/
    - cd build_intel_base/
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILE=icc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=ON -DBUILD_PARAMS=OFF -DBUILD_PYTHON=OFF -DCMAKE_INSTALL_PREFIX=../intel_base/ ../
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
      - intel_base/
    expire_in: 1 days

build-intel-py:
  stage: build
  script:
    - python -m venv cpp_sisso_env_intel_py
    - source cpp_sisso_env_intel_py/bin/activate
    - mkdir build_intel_py/
    - cd build_intel_py/
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_py/lib/python3.7/site-packages/
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILE=icc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=OFF -DBUILD_PARAMS=OFF -DBUILD_PYTHON=ON -DCMAKE_INSTALL_PREFIX=../intel_py/ ../
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
49
      - intel_py/
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
      - cpp_sisso_env_intel_py/*
    expire_in: 1 days

build-intel-param:
  stage: build
  script:
    - mkdir build_intel_param/
    - cd build_intel_param/
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILE=icc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=ON -DBUILD_PARAMS=ON -DBUILD_PYTHON=OFF -DCMAKE_INSTALL_PREFIX=../intel_param/ ../
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
      - intel_param/
    expire_in: 1 days

build-intel-param-py:
  stage: build
  script:
    - python -m venv cpp_sisso_env_intel_param_py
    - source cpp_sisso_env_intel_param_py/bin/activate
78
79
80
81
82
83
    - mkdir build_intel/
    - cd build_intel/
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
84
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
85
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
86
    - cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILE=icc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=OFF -DBUILD_PARAMS=ON -DBUILD_PYTHON=ON -DCMAKE_INSTALL_PREFIX=../intel_param_py/ ../
87
88
89
90
91
92
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
93
94
      - intel_param_py/
      - cpp_sisso_env_intel_param_py/
95
96
    expire_in: 1 days

97
test-intel-pytest-py:
98
99
  stage: unit_test
  dependencies:
100
    - build-intel-py
101
  script:
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
    - source cpp_sisso_env_intel_py/bin/activate
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_py/lib/python3.7/site-packages/
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
    - pytest --ignore=tests/pytest/test_param.py --ignore=tests/pytest/test_feature_creation/test_parameterize/ --ignore=tests/pytest/test_model_eval/test_param_model_node/ --ignore=tests/pytest/test_model_eval/test_models/test_reg_model_param.py tests/pytest

test-intel-pytest-param-py:
  stage: unit_test
  dependencies:
    - build-intel-param-py
  script:
    - source cpp_sisso_env_intel_param_py/bin/activate
119
120
121
122
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
123
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
124
125
126
127
128
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
    - pytest tests/pytest

129
test-intel-base-googletest:
130
131
  stage: unit_test
  dependencies:
132
    - build-intel-base
133
134
135
136
137
138
139
140
  script:
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
141
    - cd intel_base/tests/
142
143
    - googletest/sisso_test

144
145
146
147
148
149
150
151
152
153
154
155
test-intel-param-googletest:
  stage: unit_test
  dependencies:
    - build-intel-param
  script:
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
Thomas Purcell's avatar
Thomas Purcell committed
156
    - cd intel_param/tests/
157
158
159
    - googletest/sisso_test

test-intel-bin-param:
160
161
  stage: bin_test
  dependencies:
162
    - build-intel-param-py
163
  script:
164
    - source cpp_sisso_env_intel_param_py/bin/activate
165
166
167
168
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
169
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
170
171
172
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=1
    - cd tests/exec_test/default/
173
    - mpiexec -n 1 ../../../intel_param_py/bin/sisso++
174
175
    - python ../check_model.py
    - cd ../classification/
176
    - mpiexec -n 1 ../../../intel_param_py/bin/sisso++
177
178
    - python check_model.py
    - cd ../gen_proj
179
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
180
181
    - python ../check_model.py
    - cd ../log_reg
182
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
183
184
    - python check_model.py
    - cd ../max_corr
185
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
186
187
    - python ../check_model.py
    - cd ../param
188
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
189
190
    - python ../check_model.py
    - cd ../reparam
191
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
    - python check_model.py
    - cd ../../../

test-intel-bin-base:
  stage: bin_test
  dependencies:
    - build-intel-py
  script:
    - source cpp_sisso_env_intel_py/bin/activate
    - export I_MPI_ROOT=/home/runner/intel/oneapi/mpi/latest/
    - export INTEL_COMP_ROOT=/home/runner/intel/oneapi/compiler/latest/linux/
    - export MKLROOT=/home/runner/intel/oneapi/mkl/latest/
    - export LD_LIBRARY_PATH=$I_MPI_ROOT/lib/:$I_MPI_ROOT/lib/release:$MKLROOT/lib/intel64:$INTEL_COMP_ROOT/lib/:$INTEL_COMP_ROOT/compiler/lib/intel64/:$LD_LIBRARY_PATH:$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_py/lib/python3.7/site-packages/
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
    - export OMP_NUM_THREADS=1
    - cd tests/exec_test/default/
209
    - mpiexec -n 1 ../../../intel_py/bin/sisso++
210
211
    - python ../check_model.py
    - cd ../classification/
212
    - mpiexec -n 1 ../../../intel_py/bin/sisso++
213
214
    - python check_model.py
    - cd ../gen_proj
215
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
216
217
    - python ../check_model.py
    - cd ../log_reg
218
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
219
220
    - python check_model.py
    - cd ../max_corr
221
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
222
223
    - cd ../../../

224
build-gnu-base:
Thomas Purcell's avatar
Thomas Purcell committed
225
226
  stage: build
  script:
227
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
228
229
230
    - mkdir build_gnu_base/
    - cd build_gnu_base/
    - cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILE=gcc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=ON -DBUILD_PARAMS=OFF -DBUILD_PYTHON=OFF  -DCMAKE_INSTALL_PREFIX=../gnu_base/ ../
231
232
233
234
235
236
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
237
      - gnu_base/
238
239
240
241
242

build-gnu-param:
  stage: build
  script:
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
243
244
245
    - mkdir build_gnu_param/
    - cd build_gnu_param/
    - cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILE=gcc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=ON -DBUILD_PARAMS=ON -DBUILD_PYTHON=OFF  -DCMAKE_INSTALL_PREFIX=../gnu_param/ ../
246
247
248
249
250
251
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
252
      - gnu_param/
253
254
255
256

build-gnu-py:
  stage: build
  script:
257
258
    - python -m venv cpp_sisso_gnu_py_env
    - source cpp_sisso_gnu_py_env/bin/activate
259
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
260
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_py_env/lib/python3.7/site-packages/
261
262
    - mkdir build_py/
    - cd build_py/
263
    - cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILE=gcc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=OFF -DBUILD_PARAMS=OFF -DBUILD_PYTHON=ON  -DCMAKE_INSTALL_PREFIX=../gnu_py/ ../
264
265
266
267
268
269
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
270
271
      - gnu_py/
      - cpp_sisso_gnu_py_env/
272

273
274
275
build-gnu-param-py:
  stage: build
  script:
276
277
    - python -m venv cpp_sisso_gnu_param_py_env
    - source cpp_sisso_gnu_param_py_env/bin/activate
278
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
279
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_param_py_env/lib/python3.7/site-packages/
280
281
    - mkdir build_param_py/
    - cd build_param_py/
282
    - cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILE=gcc -DCMAKE_CXX_FLAGS="-O3" -DBUILD_TESTS=OFF -DBUILD_PARAMS=ON -DBUILD_PYTHON=ON  -DCMAKE_INSTALL_PREFIX=../gnu_param_py/ ../
Thomas Purcell's avatar
Thomas Purcell committed
283
284
    - make
    - make install
Thomas Purcell's avatar
Thomas Purcell committed
285
    - cd ../
Thomas Purcell's avatar
Thomas Purcell committed
286
287
288
  artifacts:
    when: always
    paths:
289
290
      - gnu_param_py/
      - cpp_sisso_gnu_param_py_env/
291
292

test-gnu-pytest-py:
Thomas Purcell's avatar
Thomas Purcell committed
293
  stage: unit_test
Thomas Purcell's avatar
Thomas Purcell committed
294
  dependencies:
295
    - build-gnu-py
Thomas Purcell's avatar
Thomas Purcell committed
296
  script:
297
    - source cpp_sisso_gnu_py_env/bin/activate
298
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
299
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_py_env/lib/python3.7/site-packages/
300
301
302
303
304
305
306
307
308
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
    - pytest --ignore=tests/pytest/test_param.py --ignore=tests/pytest/test_feature_creation/test_parameterize/ --ignore=tests/pytest/test_model_eval/test_param_model_node/ --ignore=tests/pytest/test_model_eval/test_models/test_reg_model_param.py tests/pytest

test-gnu-pytest-param-py:
  stage: unit_test
  dependencies:
    - build-gnu-param-py
  script:
309
    - source cpp_sisso_gnu_param_py_env/bin/activate
310
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
311
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_param_py_env/lib/python3.7/site-packages/
312
313
314
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
    - pytest tests/pytest
315

316
317
318
319
320
321
322
test-gnu-base-googletest:
  stage: unit_test
  dependencies:
    - build-gnu-base
  script:
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
323
    - cd gnu_base/tests/
324
325
326
327
328
329
330
331
332
    - googletest/sisso_test

test-gnu-param-googletest:
  stage: unit_test
  dependencies:
    - build-gnu-param
  script:
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
333
    - cd gnu_param/tests/
334
335
336
    - googletest/sisso_test

test-gnu-bin-param:
Thomas Purcell's avatar
Thomas Purcell committed
337
  stage: bin_test
Thomas Purcell's avatar
Thomas Purcell committed
338
  dependencies:
339
    - build-gnu-param-py
Thomas Purcell's avatar
Thomas Purcell committed
340
  script:
341
    - source cpp_sisso_gnu_param_py_env/bin/activate
342
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
343
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_param_py_env/lib/python3.7/site-packages/
344
    - export OMP_NUM_THREADS=1
345
    - cd tests/exec_test/default/
346
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
347
348
    - python ../check_model.py
    - cd ../classification/
349
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
350
    - python check_model.py
351
    - cd ../gen_proj
352
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
353
    - python ../check_model.py
354
    - cd ../log_reg
355
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
Thomas Purcell's avatar
Thomas Purcell committed
356
    - python check_model.py
357
    - cd ../max_corr
358
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
359
    - python ../check_model.py
360
    - cd ../param
361
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
362
363
    - python ../check_model.py
    - cd ../reparam
364
    - mpiexec -n 1 ../../../gnu_param_py/bin/sisso++
365
366
367
368
369
370
371
372
    - python check_model.py
    - cd ../../../

test-gnu-bin-base:
  stage: bin_test
  dependencies:
    - build-gnu-py
  script:
373
    - source cpp_sisso_gnu_py_env/bin/activate
374
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
375
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_py_env/lib/python3.7/site-packages/
376
377
    - export OMP_NUM_THREADS=1
    - cd tests/exec_test/default/
378
    - mpiexec -n 1 ../../../gnu_py/bin/sisso++
379
380
    - python ../check_model.py
    - cd ../classification/
381
    - mpiexec -n 1 ../../../gnu_py/bin/sisso++
382
383
    - python check_model.py
    - cd ../gen_proj
384
    - mpiexec -n 1 ../../../gnu_py/bin/sisso++
385
386
    - python ../check_model.py
    - cd ../log_reg
387
    - mpiexec -n 1 ../../../gnu_py/bin/sisso++
388
389
    - python check_model.py
    - cd ../max_corr
390
    - mpiexec -n 1 ../../../gnu_py/bin/sisso++
391
    - python ../check_model.py
392
    - cd ../../../
Thomas Purcell's avatar
Thomas Purcell committed
393

Thomas Purcell's avatar
Thomas Purcell committed
394
395
396
397
398
399
build-gnu-gcov:
  stage: build
  script:
    - python -m venv cpp_sisso_gnu_gcov_env
    - source cpp_sisso_gnu_gcov_env/bin/activate
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
400
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:`pwd`/cpp_sisso_gnu_gcov_env/lib/python3.7/site-packages/
401
402
    - mkdir build_gcov/
    - cd build_gcov/
Thomas Purcell's avatar
Thomas Purcell committed
403
    - cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILE=gcc -DCMAKE_BUILD_TYPE="Coverage" -DBUILD_TESTS=ON -DBUILD_PARAMS=ON -DBUILD_PYTHON=ON  -DCMAKE_INSTALL_PREFIX=../gnu_gcov/ ../
404
    - make install
405
    - make coverage_xml
Thomas Purcell's avatar
Thomas Purcell committed
406
    - cd ../
407
  coverage: /^\s*lines:\s*\d+.\d+\%/
Thomas Purcell's avatar
Thomas Purcell committed
408
409
  artifacts:
    when: always
410
411
412
    name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
    reports:
      cobertura: build_gcov/coverage_xml.xml
Thomas Purcell's avatar
Thomas Purcell committed
413
414
    paths:
      - build_gcov/Testing
Thomas Purcell's avatar
Thomas Purcell committed
415

Thomas Purcell's avatar
Thomas Purcell committed
416
pages:
417
  stage: doc_builds
Thomas Purcell's avatar
Thomas Purcell committed
418
  script:
Thomas Purcell's avatar
Thomas Purcell committed
419
    - source cpp_sisso_gnu_py_env/bin/activate
420
421
    - cd docs/
    - make html
Thomas Purcell's avatar
Thomas Purcell committed
422
    - mv _build/html/ ../public
Thomas Purcell's avatar
Thomas Purcell committed
423
424
425
426
427
428
429
  artifacts:
    paths:
    - public
  only:
  - master
  - docs
  - joss