.gitlab-ci.yml 10.2 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
    - ./configure --with-scalapack --enable-openmp LDFLAGS="-g -pthread -fopenmp `python3-config --ldflags`"
Marco Govoni's avatar
Marco Govoni committed
30
31
32
33
34
35
36
    - 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
37
38
39
40
41
42
43
    
.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
44
    - ./configure --with-scalapack --enable-openmp LDFLAGS="-g -pthread -fopenmp `python3-config --ldflags`"
Marco Govoni's avatar
Marco Govoni committed
45
46
47
48
49
50
51
52
53
54
    - 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
55

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

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

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

gcc830_0002:
Marco Govoni's avatar
Marco Govoni committed
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#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
120

Marco Govoni's avatar
Marco Govoni committed
121
122
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
#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
180

Marco Govoni's avatar
Marco Govoni committed
181
182
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
#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 
244

Marco Govoni's avatar
Marco Govoni committed
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
#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
268
   
Marco Govoni's avatar
Marco Govoni committed
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
#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
286
287


Marco Govoni's avatar
Marco Govoni committed
288
289
290
#gcc830_0002:
# extends: .template_bot

jhskone's avatar
jhskone committed
291
292
293
294

west_doc_build:
 tags: [rcc,docker,node-01]
 stage: doc
295
 image: continuumio/miniconda3:latest
jhskone's avatar
jhskone committed
296
297
298
 before_script:
   - apt-get update > /dev/null
   - export TZ="US/Central"
299
300
   - apt-get install -qq make > /dev/null
   - apt-get install -qq pandoc > /dev/null
jhskone's avatar
jhskone committed
301
302
   - rm -f /etc/localtime
   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
303
304
305
306
   - pip install -q --upgrade pip
   - pip install -q nbsphinx
   - pip install -q sphinx_rtd_theme
   - pip install -q ipython
jhskone's avatar
jhskone committed
307
308
309
310
311
312
 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
313
   - ls _build/html