.gitlab-ci.yml 7.06 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:
Marco Govoni's avatar
Marco Govoni committed
5
 - test
jhskone's avatar
jhskone committed
6
 - build
Marco Govoni's avatar
Marco Govoni committed
7
 - doc
Marco Govoni's avatar
Marco Govoni committed
8

9
west_build_gcc:
Marco Govoni's avatar
Marco Govoni committed
10
 tags: [rcc,docker,node-01]
jhskone's avatar
jhskone committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 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
34
 stage: build
35
 image: centos:centos7
Marco Govoni's avatar
Marco Govoni committed
36
 before_script:
37
38
39
   - 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
40
   - yum -y install devtoolset-3 > /dev/null
jhskone's avatar
jhskone committed
41
   - yum -y install gcc gcc-c++ autoconf automake
42
43
44
45
46
   - 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
47
48
49
   - 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
50
   - export LIBRARY_PATH=/software/intel/parallel_studio_xe_2017/mkl/lib/intel64:$LIBRARY_PATH
jhskone's avatar
jhskone committed
51
   - export CPATH=/software/intel/parallel_studio_xe_2016_update3/ipp/include:/software/intel/parallel_studio_xe_2017/mkl/include
52
53
54
55
56
57
58
   - 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
59
   - export I_MPI_ROOT=/software/intel/impi/5.1.3.210
Marco Govoni's avatar
Marco Govoni committed
60
 script:
61
62
   - echo "$PATH"
   - echo "$LD_LIBRARY_PATH"
63
   - echo "$I_MPI_F90"
Marco Govoni's avatar
Marco Govoni committed
64
65
   - 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
66
   - git describe
jhskone's avatar
jhskone committed
67
   - export F77=mpiifort
68
   - export CC=mpiicc
69
   - export MPIF90=mpiifort
70
   - export FC=mpiifort
jhskone's avatar
jhskone committed
71
   - which ifort
72
   - which icc
jhskone's avatar
jhskone committed
73
   - which mpiifort 
74
75
   - 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
76
   - export DFLAGS="-D__DFTI -D__MPI -D__SCALAPACK"
77
78
79
80
81
   - 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"
82
   - ./configure --enable-openmp --with-scalapack
Marco Govoni's avatar
Marco Govoni committed
83
   - make -j pw
Marco Govoni's avatar
Marco Govoni committed
84
   - ls bin
Marco Govoni's avatar
Marco Govoni committed
85
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
Marco Govoni's avatar
Marco Govoni committed
86
   - cd West
Marco Govoni's avatar
Marco Govoni committed
87
   - git describe
Marco Govoni's avatar
Marco Govoni committed
88
89
   - make
   - ls ../bin 
90
   - ldd ../bin/pw.x
Marco Govoni's avatar
Marco Govoni committed
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
west_test_gamma_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 
   - cd test-suite 
jhskone's avatar
jhskone committed
151
   - sleep 600
152
153
154
   - make NP=28 NI=1 NT=1 

west_test_gamma_gcc:
Marco Govoni's avatar
Marco Govoni committed
155
156
157
158
 tags: [rcc,docker,node-01]
 stage: test
 image: ubuntu:latest
 before_script:
Marco Govoni's avatar
Marco Govoni committed
159
160
   - apt-get update > /dev/null
   - apt-get install -qq git > /dev/null 
Marco Govoni's avatar
Marco Govoni committed
161
   - apt-get install -qq build-essential gfortran wget python-pip python-dev > /dev/null
Marco Govoni's avatar
Marco Govoni committed
162
163
   - 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
164
165
166
 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
167
168
   - ./configure FFLAGS="-ffpe-summary=none" > /dev/null
   - make -j pw > /dev/null
Marco Govoni's avatar
Marco Govoni committed
169
   - git clone -b $CI_COMMIT_REF_NAME $CI_REPOSITORY_URL West
Marco Govoni's avatar
Marco Govoni committed
170
171
   - cd West 
   - make > /dev/null
Marco Govoni's avatar
Marco Govoni committed
172
   - cd test-suite 
Marco Govoni's avatar
Marco Govoni committed
173
   - make NP=28 NI=1 NT=1 
jhskone's avatar
jhskone committed
174
175
176
177

west_doc_build:
 tags: [rcc,docker,node-01]
 stage: doc
178
 image: continuumio/miniconda3:latest
jhskone's avatar
jhskone committed
179
180
181
 before_script:
   - apt-get update > /dev/null
   - export TZ="US/Central"
182
183
   - apt-get install -qq make > /dev/null
   - apt-get install -qq pandoc > /dev/null
jhskone's avatar
jhskone committed
184
185
   - rm -f /etc/localtime
   - cp  /usr/share/zoneinfo/$TZ  /etc/localtime
186
187
188
189
   - pip install -q --upgrade pip
   - pip install -q nbsphinx
   - pip install -q sphinx_rtd_theme
   - pip install -q ipython
jhskone's avatar
jhskone committed
190
191
192
193
194
195
 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
196
   - ls _build/html