.gitlab-ci.yml 18.5 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
  - coverage
Thomas Purcell's avatar
Thomas Purcell committed
8
  - doc_builds
Thomas Purcell's avatar
Thomas Purcell committed
9

Thomas Purcell's avatar
Thomas Purcell committed
10
build-intel-base:
11
12
  stage: build
  script:
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
49
    - 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:
50
      - intel_py/
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
78
      - 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
79
80
81
82
83
84
    - 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
85
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
86
    - export PATH=$INTEL_COMP_ROOT/bin/:$INTEL_COMP_ROOT/bin/intel64:$I_MPI_ROOT/bin:$PATH
87
    - 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/ ../
88
89
90
91
92
93
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
94
95
      - intel_param_py/
      - cpp_sisso_env_intel_param_py/
96
97
    expire_in: 1 days

98
test-intel-pytest-py:
99
100
  stage: unit_test
  dependencies:
101
    - build-intel-py
102
  script:
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
    - 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
120
121
122
123
    - 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
124
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
125
126
127
128
129
    - 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

130
test-intel-base-googletest:
131
132
  stage: unit_test
  dependencies:
133
    - build-intel-base
134
135
136
137
138
139
140
141
  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
142
    - cd intel_base/tests/
143
144
    - googletest/sisso_test

145
146
147
148
149
150
151
152
153
154
155
156
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
157
    - cd intel_param/tests/
158
159
160
    - googletest/sisso_test

test-intel-bin-param:
161
162
  stage: bin_test
  dependencies:
163
    - build-intel-param-py
164
  script:
165
    - source cpp_sisso_env_intel_param_py/bin/activate
166
167
168
169
    - 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
170
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_env_intel_param_py/lib/python3.7/site-packages/
171
172
173
    - 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/
174
    - mpiexec -n 1 ../../../intel_param_py/bin/sisso++
175
176
    - python ../check_model.py
    - cd ../classification/
177
    - mpiexec -n 1 ../../../intel_param_py/bin/sisso++
178
179
    - python check_model.py
    - cd ../gen_proj
180
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
181
182
    - python ../check_model.py
    - cd ../log_reg
183
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
184
185
    - python check_model.py
    - cd ../max_corr
186
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
187
188
    - python ../check_model.py
    - cd ../param
189
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
190
191
    - python ../check_model.py
    - cd ../reparam
192
    - mpiexec -n 2 ../../../intel_param_py/bin/sisso++
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
    - 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/
210
    - mpiexec -n 1 ../../../intel_py/bin/sisso++
211
212
    - python ../check_model.py
    - cd ../classification/
213
    - mpiexec -n 1 ../../../intel_py/bin/sisso++
214
215
    - python check_model.py
    - cd ../gen_proj
216
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
217
218
    - python ../check_model.py
    - cd ../log_reg
219
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
220
221
    - python check_model.py
    - cd ../max_corr
222
    - mpiexec -n 2 ../../../intel_py/bin/sisso++
223
224
    - cd ../../../

225
build-gnu-base:
Thomas Purcell's avatar
Thomas Purcell committed
226
227
  stage: build
  script:
228
229
    - conda info --envs
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
230
231
232
    - 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/ ../
233
234
235
236
237
238
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
239
      - gnu_base/
240
241
242
243
244
245

build-gnu-param:
  stage: build
  script:
    - conda info --envs
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
246
247
248
    - 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/ ../
249
250
251
252
253
254
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
255
      - gnu_param/
256
257
258
259
260

build-gnu-py:
  stage: build
  script:
    - conda info --envs
261
262
    - python -m venv cpp_sisso_gnu_py_env
    - source cpp_sisso_gnu_py_env/bin/activate
263
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
264
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_py_env/lib/python3.7/site-packages/
265
266
    - mkdir build_py/
    - cd build_py/
267
    - 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/ ../
268
269
270
271
272
273
    - make
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
274
275
      - gnu_py/
      - cpp_sisso_gnu_py_env/
276

277
278
279
280
build-gnu-param-py:
  stage: build
  script:
    - conda info --envs
281
282
    - python -m venv cpp_sisso_gnu_param_py_env
    - source cpp_sisso_gnu_param_py_env/bin/activate
283
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
284
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_param_py_env/lib/python3.7/site-packages/
285
286
    - mkdir build_param_py/
    - cd build_param_py/
287
    - 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
288
289
    - make
    - make install
Thomas Purcell's avatar
Thomas Purcell committed
290
    - cd ../
Thomas Purcell's avatar
Thomas Purcell committed
291
292
293
  artifacts:
    when: always
    paths:
294
295
      - gnu_param_py/
      - cpp_sisso_gnu_param_py_env/
296
297

test-gnu-pytest-py:
Thomas Purcell's avatar
Thomas Purcell committed
298
  stage: unit_test
Thomas Purcell's avatar
Thomas Purcell committed
299
  dependencies:
300
    - build-gnu-py
Thomas Purcell's avatar
Thomas Purcell committed
301
  script:
302
    - source cpp_sisso_gnu_py_env/bin/activate
303
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
304
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_py_env/lib/python3.7/site-packages/
305
306
307
308
309
310
311
312
313
    - 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:
314
    - source cpp_sisso_gnu_param_py_env/bin/activate
315
    - export LD_LIBRARY_PATH=$HOME/intel/oneapi/intelpython/latest/lib/:$HOME/intel/oneapi/intelpython/latest/lib/python3.7:$LD_LIBRARY_PATH
316
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_param_py_env/lib/python3.7/site-packages/
317
318
319
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
    - pytest tests/pytest
320

321
322
323
324
325
326
327
test-gnu-base-googletest:
  stage: unit_test
  dependencies:
    - build-gnu-base
  script:
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
328
    - cd gnu_base/tests/
329
330
331
332
333
334
335
336
337
    - googletest/sisso_test

test-gnu-param-googletest:
  stage: unit_test
  dependencies:
    - build-gnu-param
  script:
    - export OMP_NUM_THREADS=2
    - export OMP_PLACES=cores
338
    - cd gnu_param/tests/
339
340
341
    - googletest/sisso_test

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

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

Thomas Purcell's avatar
Thomas Purcell committed
399
400
401
402
403
404
405
406
build-gnu-gcov:
  stage: build
  script:
    - conda info --envs
    - 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
    - export PYTHONPATH=$HOME/intel/oneapi/intelpython/latest/lib/python3.7/site-packages/:cpp_sisso_gnu_gcov_env/lib/python3.7/site-packages/
407
408
    - mkdir build_gcov/
    - cd build_gcov/
Thomas Purcell's avatar
Thomas Purcell committed
409
410
    - 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/ ../
    - make
411
    - make coverage_xml
Thomas Purcell's avatar
Thomas Purcell committed
412
    - cd ../
413
  coverage: /^\s*lines:\s*\d+.\d+\%/
Thomas Purcell's avatar
Thomas Purcell committed
414
415
  artifacts:
    when: always
416
417
418
    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
419

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