.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
  - 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
407
408
409
410
411
412
413
414
415
416
417
418
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/
    - mkdir build_param_py/
    - cd build_param_py/
    - 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
    - make install
    - cd ../
  artifacts:
    when: always
    paths:
      - gnu_gcov/
      - cpp_sisso_gnu_gcov_env/

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