.gitlab-ci.yml 10.3 KB
Newer Older
Marco Govoni's avatar
Marco Govoni committed
1
variables:
Marco Govoni's avatar
Marco Govoni committed
2
 GIT_STRATEGY: none 
Marco Govoni's avatar
Marco Govoni committed
3

Marco Govoni's avatar
Marco Govoni committed
4
stages:
jhskone's avatar
jhskone committed
5
 - build
jhskone's avatar
jhskone committed
6
 - test
Marco Govoni's avatar
Marco Govoni committed
7
 - doc
Marco Govoni's avatar
Marco Govoni committed
8
 
Marco Govoni's avatar
Marco Govoni committed
9
.template_bot_start:
Marco Govoni's avatar
Marco Govoni committed
10
11
12
13
14
15
16
17
18
19
20
21
  tags: [rcc,docker,node-01]
  image: miccomcenter/bot:$CI_JOB_NAME
  before_script:    
    - if [ -z $GCC_VERSION ]; then echo "not set"; else echo $GCC_VERSION; fi
    - if [ -z $LAPACK_VERSION ]; then echo "not set"; else echo $LAPACK_VERSION; fi
    - if [ -z $XERCES_VERSION ]; then echo "not set"; else echo $XERCES_VERSION; fi
    - if [ -z $OPENMPI_VERSION ]; then echo "not set"; else echo $OPENMPI_VERSION; fi
    - if [ -z $MPICH_VERSION ]; then echo "not set"; else echo $MPICH_VERSION; fi
    - if [ -z $SCALAPACK_VERSION ]; then echo "not set"; else echo $SCALAPACK_VERSION; fi
    - if [ -z $FFTW_VERSION ]; then echo "not set"; else echo $FFTW_VERSION; fi
    - if [ -z PYTHON_VERSION ]; then echo "not set"; else echo $PYTHON_VERSION; fi
    - if [ -z PYTHON_PIP_VERSION ]; then echo "not set"; else echo $PYTHON_PIP_VERSION; fi
Marco Govoni's avatar
Marco Govoni committed
22
23
24
    
.template_build:
  stage: build
Marco Govoni's avatar
Marco Govoni committed
25
26
27
28
  script:
    - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
    - cd QEDIR
    - git describe
Marco Govoni's avatar
Marco Govoni committed
29
30
    - pip list 
    - echo $PYTHON_PATH
Marco Govoni's avatar
Marco Govoni committed
31
    - ./configure --with-scalapack --enable-openmp LDFLAGS="-g -pthread -fopenmp `python3-config --ldflags`"
Marco Govoni's avatar
Marco Govoni committed
32
33
34
35
36
37
38
    - make -j pw
    - ls bin
    - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
    - cd West
    - git describe
    - make
    - ls ../bin 
Marco Govoni's avatar
Marco Govoni committed
39
40
41
42
43
44
45
    
.template_test:
  stage: test
  script:
    - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
    - cd QEDIR
    - git describe
Marco Govoni's avatar
Marco Govoni committed
46
    - ./configure --with-scalapack --enable-openmp LDFLAGS="-g -pthread -fopenmp `python3-config --ldflags`"
Marco Govoni's avatar
Marco Govoni committed
47
48
49
50
51
52
53
54
55
56
    - make -j pw
    - ls bin
    - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
    - cd West 
    - make > /dev/null
    - useradd -m qe
    - cp -r test-suite /home/qe
    - su - qe
    - cd test-suite 
    - make NP=14 NI=1 NT=1 
Marco Govoni's avatar
Marco Govoni committed
57

Marco Govoni's avatar
Marco Govoni committed
58
gcc650_0001:
Marco Govoni's avatar
Marco Govoni committed
59
60
61
 extends: 
   - .template_bot_start
   - .template_build
Marco Govoni's avatar
Marco Govoni committed
62
  
Marco Govoni's avatar
Marco Govoni committed
63
gcc650_0002:
Marco Govoni's avatar
Marco Govoni committed
64
65
66
 extends: 
   - .template_bot_start
   - .template_build
Marco Govoni's avatar
Marco Govoni committed
67
68

gcc740_0001:
Marco Govoni's avatar
Marco Govoni committed
69
70
71
 extends: 
   - .template_bot_start
   - .template_build
Marco Govoni's avatar
Marco Govoni committed
72
 
Marco Govoni's avatar
Marco Govoni committed
73
gcc740_0002:
Marco Govoni's avatar
Marco Govoni committed
74
75
76
 extends: 
   - .template_bot_start
   - .template_build
Marco Govoni's avatar
Marco Govoni committed
77
78

gcc830_0001:
Marco Govoni's avatar
Marco Govoni committed
79
80
81
 extends: 
   - .template_bot_start
   - .template_build
Marco Govoni's avatar
Marco Govoni committed
82
83

gcc830_0002:
Marco Govoni's avatar
Marco Govoni committed
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 extends: 
   - .template_bot_start
   - .template_build
 
gcc830_0001_t:
 extends: 
   - .template_bot_start
   - .template_test
 image: miccomcenter/bot:gcc830_0001

gcc830_0002_t:
 extends: 
   - .template_bot_start
   - .template_test
 image: miccomcenter/bot:gcc830_0002

Marco Govoni's avatar
Marco Govoni committed
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#west_build_gcc:
# tags: [rcc,docker,node-01]
# stage: build
# image: ubuntu:latest
# before_script:
#   - apt-get update > /dev/null
#   - apt-get install -qq git > /dev/null 
#   - apt-get install -qq build-essential gfortran wget python-pip python-dev > /dev/null
#   - apt-get install -qq libopenmpi-dev openmpi-bin > /dev/null
#   - apt-get install -qq libblas-dev liblapack-dev fftw3 fftw3-dev pkg-config > /dev/null
# script:
#   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
#   - cd QEDIR
#   - git describe
#   - ./configure
#   - make -j pw
#   - ls bin
#   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
#   - cd West
#   - git describe
#   - make
#   - ls ../bin 
jhskone's avatar
jhskone committed
122

Marco Govoni's avatar
Marco Govoni committed
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#west_build_intel:
# tags: [rcc,docker,node-01]
# stage: build
# image: centos:centos7
# before_script:
#   - yum -y update > /dev/null
#   - yum -y install yum-utils > /dev/null
#   - yum -y install centos-release-scl-rh > /dev/null
#   - yum -y install devtoolset-3 > /dev/null
#   - yum -y install gcc gcc-c++ autoconf automake
#   - yum -y install vim > /dev/null 
#   - yum -y install wget pkgconfig git make > /dev/null
#   - export TZ="US/Central"
#   - rm -f /etc/localtime
#   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
#   - export PATH=/software/intel/impi/5.1.3.210/intel64/bin:/software/intel/parallel_studio_xe_2016_update3/bin:$PATH
#   - export LD_LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:/software/intel/impi/5.1.3.210/intel64/lib:$LD_LIBRARY_PATH
#   - export LD_LIBRARY_PATH=/software/intel/parallel_studio_xe_2016_update3/ipp/lib/intel64:/software/intel/parallel_studio_xe_2016_update3/lib/intel64:$LD_LIBRARY_PATH
#   - export LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:$LIBRARY_PATH
#   - export CPATH=/software/intel/parallel_studio_xe_2016_update3/ipp/include:/software/intel/parallel_studio_xe_2017/mkl/include
#   - export I_MPI_CC=icc
#   - export I_MPI_CXX=icpc
#   - export I_MPI_FC=ifort
#   - export I_MPI_F77=ifort
#   - export I_MPI_F90=ifort
#   - export I_MPI_F95=ifort
#   - export I_MPI_PROCESS_MANAGER=hydra
#   - export I_MPI_ROOT=/software/intel/impi/5.1.3.210
# script:
#   - echo "$PATH"
#   - echo "$LD_LIBRARY_PATH"
#   - echo "$I_MPI_F90"
#   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
#   - cd QEDIR
#   - git describe
#   - export F77=mpiifort
#   - export CC=mpiicc
#   - export MPIF90=mpiifort
#   - export FC=mpiifort
#   - which ifort
#   - which icc
#   - which mpiifort 
#   - export CFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
#   - export FFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
#   - export DFLAGS="-D__DFTI -D__MPI -D__SCALAPACK"
#   - export BLAS_LIBS_SWITCH="external"
#   - export BLAS_LIBS=" -lmkl_intel_lp64  -lmkl_sequential -lmkl_core"
#   - export LAPACK_LIBS_SWITCH="external"
#   - export LAPACK_LIBS=""
#   - export SCALAPACK_LIBS=" -lmkl_scalapack_lp64 -Wl,--start-group  -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -Wl,--end-group"
#   - ./configure --enable-openmp --with-scalapack
#   - make -j pw
#   - ls bin
#   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
#   - cd West
#   - git describe
#   - make
#   - ls ../bin 
#   - ldd ../bin/pw.x
Marco Govoni's avatar
Marco Govoni committed
182

Marco Govoni's avatar
Marco Govoni committed
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
#west_test_intel:
# tags: [rcc,docker,node-01]
# stage: test
# image: centos:centos7
# before_script:
#   - yum -y update > /dev/null
#   - yum -y install yum-utils > /dev/null
#   - yum -y install centos-release-scl-rh > /dev/null
#   - yum -y install devtoolset-3 > /dev/null
#   - yum -y install gcc gcc-c++ autoconf automake
#   - yum -y install vim > /dev/null 
#   - yum -y install wget pkgconfig git make > /dev/null
#   - export TZ="US/Central"
#   - rm -f /etc/localtime
#   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
#   - export PATH=/software/intel/impi/5.1.3.210/intel64/bin:/software/intel/parallel_studio_xe_2016_update3/bin:$PATH
#   - export LD_LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:/software/intel/impi/5.1.3.210/intel64/lib:$LD_LIBRARY_PATH
#   - export LD_LIBRARY_PATH=/software/intel/parallel_studio_xe_2016_update3/ipp/lib/intel64:/software/intel/parallel_studio_xe_2016_update3/lib/intel64:$LD_LIBRARY_PATH
#   - export LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:$LIBRARY_PATH
#   - export CPATH=/software/intel/parallel_studio_xe_2016_update3/ipp/include:/software/intel/parallel_studio_xe_2017/mkl/include
#   - export I_MPI_CC=icc
#   - export I_MPI_CXX=icpc
#   - export I_MPI_FC=ifort
#   - export I_MPI_F77=ifort
#   - export I_MPI_F90=ifort
#   - export I_MPI_F95=ifort
#   - export I_MPI_PROCESS_MANAGER=hydra
#   - export I_MPI_ROOT=/software/intel/impi/5.1.3.210
# script:
#   - echo "$PATH"
#   - echo "$LD_LIBRARY_PATH"
#   - echo "$I_MPI_F90"
#   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
#   - cd QEDIR
#   - git describe
#   - export F77=mpiifort
#   - export CC=mpiicc
#   - export MPIF90=mpiifort
#   - export FC=mpiifort
#   - which ifort
#   - which icc
#   - which mpiifort 
#   - export CFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
#   - export FFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
#   - export DFLAGS="-D__DFTI -D__MPI -D__SCALAPACK"
#   - export BLAS_LIBS_SWITCH="external"
#   - export BLAS_LIBS=" -lmkl_intel_lp64  -lmkl_sequential -lmkl_core"
#   - export LAPACK_LIBS_SWITCH="external"
#   - export LAPACK_LIBS=""
#   - export SCALAPACK_LIBS=" -lmkl_scalapack_lp64 -Wl,--start-group  -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -Wl,--end-group"
#   - ./configure --enable-openmp --with-scalapack
#   - make -j pw
#   - ls bin
#   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
#   - cd West
#   - git describe
#   - make
#   - ls ../bin 
#   - useradd -m qe
#   - cp -r test-suite /home/qe
#   - su - qe
#   - cd test-suite 
#   - make NP=14 NI=1 NT=1 
246

Marco Govoni's avatar
Marco Govoni committed
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
#west_test_gcc:
# tags: [rcc,docker,node-01]
# stage: test
# image: ubuntu:latest
# before_script:
#   - apt-get update > /dev/null
#   - apt-get install -qq git > /dev/null 
#   - apt-get install -qq build-essential gfortran wget python-pip python-dev > /dev/null
#   - apt-get install -qq libopenmpi-dev openmpi-bin > /dev/null
#   - apt-get install -qq libblas-dev liblapack-dev fftw3 fftw3-dev pkg-config > /dev/null
# script:
#   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
#   - cd QEDIR
#   - ./configure FFLAGS="-ffpe-summary=none" > /dev/null
#   - make -j pw > /dev/null
#   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
#   - cd West 
#   - make > /dev/null
#   - useradd -m qe
#   - cp -r test-suite /home/qe
#   - su - qe
#   - cd test-suite 
#   - make NP=14 NI=1 NT=1 
Marco Govoni's avatar
Marco Govoni committed
270
   
Marco Govoni's avatar
Marco Govoni committed
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
#gcc830_0001:
# extends: .template_bot
# script:
#   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
#   - cd QEDIR
#   - git describe
#   - ./configure
#   - make -j pw
#   - ls bin
#   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
#   - cd West 
#   - make > /dev/null
#   - useradd -m qe
#   - cp -r test-suite /home/qe
#   - su - qe
#   - cd test-suite 
#   - make NP=14 NI=1 NT=1 
Marco Govoni's avatar
Marco Govoni committed
288
289


Marco Govoni's avatar
Marco Govoni committed
290
291
292
#gcc830_0002:
# extends: .template_bot

jhskone's avatar
jhskone committed
293
294
295
296

west_doc_build:
 tags: [rcc,docker,node-01]
 stage: doc
297
 image: continuumio/miniconda3:latest
jhskone's avatar
jhskone committed
298
299
300
 before_script:
   - apt-get update > /dev/null
   - export TZ="US/Central"
301
302
   - apt-get install -qq make > /dev/null
   - apt-get install -qq pandoc > /dev/null
jhskone's avatar
jhskone committed
303
304
   - rm -f /etc/localtime
   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
305
306
307
308
   - pip install -q --upgrade pip
   - pip install -q nbsphinx
   - pip install -q sphinx_rtd_theme
   - pip install -q ipython
jhskone's avatar
jhskone committed
309
310
311
312
313
314
 script:
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
   - cd West
   - git describe
   - cd doc
   - make html
jhskone's avatar
jhskone committed
315
   - ls _build/html