.gitlab-ci.yml 5.5 KB
Newer Older
1
stages:
Daniel Wortmann's avatar
Daniel Wortmann committed
2 3
   - build
   - test
Daniel Wortmann's avatar
Daniel Wortmann committed
4
   - html
Daniel Wortmann's avatar
Daniel Wortmann committed
5 6
   - deploy

7

Daniel Wortmann's avatar
Daniel Wortmann committed
8
build-gfortran-hdf5:
9
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
10
  stage: build
11
  artifacts:
Daniel Wortmann's avatar
Daniel Wortmann committed
12 13
     paths:
       - build
Daniel Wortmann's avatar
Daniel Wortmann committed
14
     expire_in: 1h
Daniel Wortmann's avatar
Daniel Wortmann committed
15
  script:
16
    - cd $CI_PROJECT_DIR
17 18
    - ./configure.sh 
#    - ./configure.sh GITLAB
Andreas Beckmann's avatar
Andreas Beckmann committed
19 20
    - cd build
    - make -j 2
21 22 23 24
#  only:
#    - schedules
#    - triggers
#    - web
25

26
.test-gfortran-hdf5: &test-gfortran-hdf5
27
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
28
  stage: test
29 30
  dependencies:
    - build-gfortran-hdf5
Daniel Wortmann's avatar
Daniel Wortmann committed
31
  script:
Andreas Beckmann's avatar
Andreas Beckmann committed
32 33 34
    - ulimit -s unlimited
    - export OMP_NUM_THREADS=2
    - export juDFT_MPI="mpirun -n 2 --allow-run-as-root"
Daniel Wortmann's avatar
Daniel Wortmann committed
35
    - export OMPI_MCA_btl_vader_single_copy_mechanism=none
36
    - cd $CI_PROJECT_DIR
Andreas Beckmann's avatar
Andreas Beckmann committed
37
    - cd build
38 39
    - CTEST_FLAGS="$(echo "$CI_JOB_NAME" | sed -rn 's/.*-([0-9]+)of([0-9]+)$/-I \1,,\2/p')"
    - ctest $CTEST_FLAGS -j 1
40
  artifacts:
41
    when: on_failure
42
    paths:
43
      - build/Testing
44 45 46 47
#  only:
#    - schedules
#    - triggers
#    - web
Daniel Wortmann's avatar
Daniel Wortmann committed
48

49 50 51 52 53 54 55 56 57
test-gfortran-hdf5-1of3:
  <<: *test-gfortran-hdf5

test-gfortran-hdf5-2of3:
  <<: *test-gfortran-hdf5

test-gfortran-hdf5-3of3:
  <<: *test-gfortran-hdf5

58 59 60 61
build-gfortran-serial:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
  stage: build
  script:
62
    - cd $CI_PROJECT_DIR
63
    - ./configure.sh -l serial -mpi FALSE -hdf5 FALSE -cmake_opts -DFLEUR_USE_OPENMP=OFF
64
    - cd build.serial
Andreas Beckmann's avatar
Andreas Beckmann committed
65
    - make -j 2
66 67 68 69 70 71 72 73 74
  artifacts:
    paths:
      - build.serial
    expire_in: 1h
#  only:
#    - schedules
#    - triggers
#    - web

75 76 77 78 79 80 81
test-gfortran-serial:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
  stage: test
  dependencies:
    - build-gfortran-serial
  script:
    - ulimit -s unlimited
82
    - cd $CI_PROJECT_DIR
83
    - cd build.serial
Andreas Beckmann's avatar
Andreas Beckmann committed
84
    - ctest -j 2
85 86 87 88 89 90 91 92 93
  artifacts:
    when: on_failure
    paths:
      - build.serial/Testing
  only:
    - schedules
    - triggers
    - web

94
pages:
95
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
96
  stage: deploy
Daniel Wortmann's avatar
Daniel Wortmann committed
97
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
98
    - echo "HTML should be ready from cache..."
Daniel Wortmann's avatar
Daniel Wortmann committed
99
    - mv /builds/fleur/fleur/docs/Docu_main.html /builds/fleur/fleur/public/index.html
100
  environment:
Daniel Wortmann's avatar
Daniel Wortmann committed
101
     name: HTML-Pages
Daniel Wortmann's avatar
Daniel Wortmann committed
102 103 104 105
     url: https://fleur.iffgit.fz-juelich.de/fleur
  artifacts:
    paths:
      - public
Daniel Wortmann's avatar
Daniel Wortmann committed
106 107
  only:
    - web
108

Daniel Wortmann's avatar
Daniel Wortmann committed
109 110 111
doxygen:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
  stage: html
112 113
  script:
    - cd /builds/fleur/fleur/build ; make doc
Daniel Wortmann's avatar
Daniel Wortmann committed
114
    - mkdir ../public
Daniel Wortmann's avatar
Daniel Wortmann committed
115
    - mv docs/html/ ../public/doxygen
116 117 118
  artifacts:
    paths:
      - public
119 120 121
      - build/fleur
      - build/fleur_MPI
      - build/inpgen
122
  only:
123 124
    - web

125

126 127
build-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
128
  stage: build
129
  artifacts:
130 131
     paths:
       - build.pgi
132
     expire_in: 1h
133
  script:
134
    - cd /builds/fleur/fleur; ./configure.sh -l pgi ; cd build.pgi; make
Daniel Wortmann's avatar
Daniel Wortmann committed
135
  allow_failure: true
136 137 138 139
  only:
    - schedules
    - triggers
    - web
140 141


142 143
test-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
144 145 146
  stage: test
  dependencies:
    - build-pgi
147
  script:
Andreas Beckmann's avatar
Andreas Beckmann committed
148
    - export OMP_NUM_THREADS=2
149
    - cd /builds/fleur/fleur/build.pgi;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
150
  allow_failure: true
Alexander Neukirchen's avatar
Alexander Neukirchen committed
151
  artifacts:
152 153 154
    when: on_failure
    paths:
      - build.pgi/Testing
155 156 157 158
  only:
     - schedules
     - web
     - triggers
159

160 161 162

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
163
  stage: build
164
  artifacts:
165 166
     paths:
       - build.intel-static
167
     expire_in: 1h
168
  script:
Andreas Beckmann's avatar
Andreas Beckmann committed
169 170 171 172 173 174
    - set +e && source compilervars.sh intel64 && set -e
    - ulimit -s unlimited
    - cd /builds/fleur/fleur
    - ./configure.sh -l intel-static INTEL_DOCKER_STATIC
    - cd build.intel-static
    - make -j 2
175 176 177 178
  artifacts:
    when: on_success
    paths:
    - build.intel-static/fleur_MPI
179
    - build.intel-static/inpgen2/inpgen2
Daniel Wortmann's avatar
Daniel Wortmann committed
180
  allow_failure: true
181 182 183 184
  only:
    - schedules
    - triggers
    - web
185

186

187
build-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
188
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
189
  stage: build
190
  artifacts:
191
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
192
       - build.intel.debug
193
     expire_in: 1h
194
  script:
Andreas Beckmann's avatar
Andreas Beckmann committed
195 196 197 198 199 200
    - set +e && source compilervars.sh intel64 && set -e
    - ulimit -s unlimited
    - cd /builds/fleur/fleur
    - CC=gcc FC=mpiifort  FLEUR_LIBRARIES="-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lxml2 -lz -llzma -ldl" ./configure.sh -d -l intel INTEL_MPI
    - cd build.intel.debug
    - make -j 2
Daniel Wortmann's avatar
Daniel Wortmann committed
201
  allow_failure: true
202 203 204 205
  only:
    - schedules
    - triggers
    - web
206 207


208
test-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
209
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
210 211 212
  stage: test
  dependencies:
     - build-intel
213
  script:
Andreas Beckmann's avatar
Andreas Beckmann committed
214 215 216
    - set +e && source compilervars.sh intel64 && set -e
    - ulimit -s unlimited
    - export OMP_NUM_THREADS=2
Daniel Wortmann's avatar
Daniel Wortmann committed
217
    - cd /builds/fleur/fleur/build.intel.debug;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
218
  allow_failure: true
219 220 221
  artifacts:
    when: on_failure
    paths:
222 223
      - build.intel.debug/Testing#/failed
#      - build.intel.debug/Testing/test.oldlogs
224 225 226 227
  only:
     - schedules
     - web
     - triggers
228 229 230

gfortran-coverage:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
231
  stage: html
232
  script:
233
      - cd /builds/fleur/fleur; ./configure.sh -l coverage -flags --coverage GITLAB; cd build.coverage; make -j 4
234
      - lcov --capture --initial -d CMakeFiles -o baseline.info
Daniel Wortmann's avatar
Daniel Wortmann committed
235
      - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";ctest
236
      - lcov --capture  -d CMakeFiles -o after.info
237 238
      - lcov --add-tracefile baseline.info --add-tracefile after.info -o combined.info
      - genhtml combined.info --output-directory html_out
Daniel Wortmann's avatar
Daniel Wortmann committed
239
      - mkdir ../public;mv html_out ../public/coverage_html
Daniel Wortmann's avatar
Daniel Wortmann committed
240
  allow_failure: true
241 242
  artifacts:
    paths:
243
      - public
Daniel Wortmann's avatar
Daniel Wortmann committed
244 245 246
  environment:
    name: Coverage
    url: https://fleur.iffgit.fz-juelich.de/fleur/coverage_html
247 248
  only:
      - web