.gitlab-ci.yml 9.54 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
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
.template_bot:
  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
    - ./configure
    - 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
35

Marco Govoni's avatar
Marco Govoni committed
36
gcc650_0001:
Marco Govoni's avatar
Marco Govoni committed
37
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
38
  
Marco Govoni's avatar
Marco Govoni committed
39
gcc650_0002:
Marco Govoni's avatar
Marco Govoni committed
40
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
41
42

gcc740_0001:
Marco Govoni's avatar
Marco Govoni committed
43
44
 extends: .template_bot
 
Marco Govoni's avatar
Marco Govoni committed
45
gcc740_0002:
Marco Govoni's avatar
Marco Govoni committed
46
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
47
48

gcc830_0001:
Marco Govoni's avatar
Marco Govoni committed
49
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
50
51

gcc830_0002:
Marco Govoni's avatar
Marco Govoni committed
52
53
 extends: .template_bot
  
Marco Govoni's avatar
Marco Govoni committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#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
76

Marco Govoni's avatar
Marco Govoni committed
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#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
136

Marco Govoni's avatar
Marco Govoni committed
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
#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 
200

Marco Govoni's avatar
Marco Govoni committed
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
#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
224
225
   
gcc830_0001:
Marco Govoni's avatar
Marco Govoni committed
226
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
227
228
229
230
 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
231
   - ./configure
Marco Govoni's avatar
Marco Govoni committed
232
233
234
235
236
237
238
239
240
241
242
243
244
   - 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 


gcc830_0002:
Marco Govoni's avatar
Marco Govoni committed
245
 extends: .template_bot
Marco Govoni's avatar
Marco Govoni committed
246
247
248
249
 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
250
   - ./configure
Marco Govoni's avatar
Marco Govoni committed
251
252
253
254
255
256
257
258
259
260
   - 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 
jhskone's avatar
jhskone committed
261
262
263
264

west_doc_build:
 tags: [rcc,docker,node-01]
 stage: doc
265
 image: continuumio/miniconda3:latest
jhskone's avatar
jhskone committed
266
267
268
 before_script:
   - apt-get update > /dev/null
   - export TZ="US/Central"
269
270
   - apt-get install -qq make > /dev/null
   - apt-get install -qq pandoc > /dev/null
jhskone's avatar
jhskone committed
271
272
   - rm -f /etc/localtime
   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
273
274
275
276
   - pip install -q --upgrade pip
   - pip install -q nbsphinx
   - pip install -q sphinx_rtd_theme
   - pip install -q ipython
jhskone's avatar
jhskone committed
277
278
279
280
281
282
 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
283
   - ls _build/html