.gitlab-ci.yml 9.47 KB
Newer Older
Marco Govoni's avatar
Marco Govoni committed
1
2
variables:
 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
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
gcc650_0001:
 tags: [rcc,docker,node-01]
 stage: build
 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
 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
27
   - ./configure FFT_LIBS=/usr/fftw3
Marco Govoni's avatar
Marco Govoni committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
   - git describe
   - make
   - ls ../bin 


gcc650_0002:
 tags: [rcc,docker,node-01]
 stage: build
 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
 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
55
   - ./configure FFT_LIBS=/usr/fftw3
Marco Govoni's avatar
Marco Govoni committed
56
57
58
59
60
61
62
63
   - make -j pw
   - ls bin
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
   - cd West
   - git describe
   - make
   - ls ../bin 

64
west_build_gcc:
Marco Govoni's avatar
Marco Govoni committed
65
 tags: [rcc,docker,node-01]
jhskone's avatar
jhskone committed
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 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 

west_build_intel:
 tags: [rcc,docker,node-01]
Marco Govoni's avatar
Marco Govoni committed
89
 stage: build
90
 image: centos:centos7
Marco Govoni's avatar
Marco Govoni committed
91
 before_script:
92
93
94
   - yum -y update > /dev/null
   - yum -y install yum-utils > /dev/null
   - yum -y install centos-release-scl-rh > /dev/null
jhskone's avatar
jhskone committed
95
   - yum -y install devtoolset-3 > /dev/null
jhskone's avatar
jhskone committed
96
   - yum -y install gcc gcc-c++ autoconf automake
97
98
99
100
101
   - 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
102
103
104
   - 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
105
   - export LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:$LIBRARY_PATH
jhskone's avatar
jhskone committed
106
   - export CPATH=/software/intel/parallel_studio_xe_2016_update3/ipp/include:/software/intel/parallel_studio_xe_2017/mkl/include
107
108
109
110
111
112
113
   - 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
jhskone's avatar
jhskone committed
114
   - export I_MPI_ROOT=/software/intel/impi/5.1.3.210
Marco Govoni's avatar
Marco Govoni committed
115
 script:
116
117
   - echo "$PATH"
   - echo "$LD_LIBRARY_PATH"
118
   - echo "$I_MPI_F90"
Marco Govoni's avatar
Marco Govoni committed
119
120
   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
   - cd QEDIR
Marco Govoni's avatar
Marco Govoni committed
121
   - git describe
jhskone's avatar
jhskone committed
122
   - export F77=mpiifort
123
   - export CC=mpiicc
124
   - export MPIF90=mpiifort
125
   - export FC=mpiifort
jhskone's avatar
jhskone committed
126
   - which ifort
127
   - which icc
jhskone's avatar
jhskone committed
128
   - which mpiifort 
129
130
   - export CFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
   - export FFLAGS="-O3 -xHost -fno-alias -ansi-alias -g -mkl"
jhskone's avatar
jhskone committed
131
   - export DFLAGS="-D__DFTI -D__MPI -D__SCALAPACK"
132
133
134
135
136
   - 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"
137
   - ./configure --enable-openmp --with-scalapack
Marco Govoni's avatar
Marco Govoni committed
138
   - make -j pw
Marco Govoni's avatar
Marco Govoni committed
139
   - ls bin
Marco Govoni's avatar
Marco Govoni committed
140
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
Marco Govoni's avatar
Marco Govoni committed
141
   - cd West
Marco Govoni's avatar
Marco Govoni committed
142
   - git describe
Marco Govoni's avatar
Marco Govoni committed
143
144
   - make
   - ls ../bin 
145
   - ldd ../bin/pw.x
Marco Govoni's avatar
Marco Govoni committed
146

Marco Govoni's avatar
Marco Govoni committed
147
west_test_intel:
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
 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 
jhskone's avatar
jhskone committed
205
   - useradd -m qe
206
207
   - cp -r test-suite /home/qe
   - su - qe
208
   - cd test-suite 
209
   - make NP=14 NI=1 NT=1 
210

Marco Govoni's avatar
Marco Govoni committed
211
west_test_gcc:
Marco Govoni's avatar
Marco Govoni committed
212
213
214
215
 tags: [rcc,docker,node-01]
 stage: test
 image: ubuntu:latest
 before_script:
Marco Govoni's avatar
Marco Govoni committed
216
217
   - apt-get update > /dev/null
   - apt-get install -qq git > /dev/null 
Marco Govoni's avatar
Marco Govoni committed
218
   - apt-get install -qq build-essential gfortran wget python-pip python-dev > /dev/null
Marco Govoni's avatar
Marco Govoni committed
219
220
   - 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
Marco Govoni's avatar
Marco Govoni committed
221
222
223
 script:
   - git clone -b 'qe-6.1.0' --single-branch --depth 1 https://gitlab.com/QEF/q-e.git QEDIR
   - cd QEDIR
Marco Govoni's avatar
Marco Govoni committed
224
225
   - ./configure FFLAGS="-ffpe-summary=none" > /dev/null
   - make -j pw > /dev/null
Marco Govoni's avatar
Marco Govoni committed
226
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
Marco Govoni's avatar
Marco Govoni committed
227
228
   - cd West 
   - make > /dev/null
jhskone's avatar
jhskone committed
229
   - useradd -m qe
230
231
   - cp -r test-suite /home/qe
   - su - qe
Marco Govoni's avatar
Marco Govoni committed
232
   - cd test-suite 
233
   - make NP=14 NI=1 NT=1 
jhskone's avatar
jhskone committed
234
235
236
237

west_doc_build:
 tags: [rcc,docker,node-01]
 stage: doc
238
 image: continuumio/miniconda3:latest
jhskone's avatar
jhskone committed
239
240
241
 before_script:
   - apt-get update > /dev/null
   - export TZ="US/Central"
242
243
   - apt-get install -qq make > /dev/null
   - apt-get install -qq pandoc > /dev/null
jhskone's avatar
jhskone committed
244
245
   - rm -f /etc/localtime
   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
246
247
248
249
   - pip install -q --upgrade pip
   - pip install -q nbsphinx
   - pip install -q sphinx_rtd_theme
   - pip install -q ipython
jhskone's avatar
jhskone committed
250
251
252
253
254
255
 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
256
   - ls _build/html