.gitlab-ci.yml 4.93 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 11 12 13 14
  stage: build
  cache: 
     paths:
       - build
  script:
15
    - cd /builds/fleur/fleur; ./configure.sh GITLAB; cd build; make -j 4
Daniel Wortmann's avatar
Daniel Wortmann committed
16
  allow_failure: true
17 18 19 20
#  only:
#    - schedules
#    - triggers
#    - web
21

22
test-gfortran-hdf5:
23
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
24 25 26 27 28
  stage: test
  cache:
     paths:
       - build
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
29
    - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";export OMP_NUM_THREADS=4;cd /builds/fleur/fleur/build;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
30
  allow_failure: true
31
  artifacts:
32
    when: on_failure
33
    paths:
34
      - build/Testing/failed
35
      - build/Testing/test.oldlogs
36 37 38 39
#  only:
#    - schedules
#    - triggers
#    - web
Daniel Wortmann's avatar
Daniel Wortmann committed
40

41
pages:
42
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
43
  stage: deploy
Daniel Wortmann's avatar
Daniel Wortmann committed
44 45
  cache:
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
46
        - build
Daniel Wortmann's avatar
Daniel Wortmann committed
47
        - public
Daniel Wortmann's avatar
Daniel Wortmann committed
48
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
49
    - echo "HTML should be ready from cache..."
Daniel Wortmann's avatar
Daniel Wortmann committed
50
    - mv /builds/fleur/fleur/docs/Docu_main.html /builds/fleur/fleur/public/index.html
Daniel Wortmann's avatar
Daniel Wortmann committed
51
  environment: 
Daniel Wortmann's avatar
Daniel Wortmann committed
52
     name: HTML-Pages
Daniel Wortmann's avatar
Daniel Wortmann committed
53 54 55 56
     url: https://fleur.iffgit.fz-juelich.de/fleur
  artifacts:
    paths:
      - public
Daniel Wortmann's avatar
Daniel Wortmann committed
57 58 59 60
#  only:
#    - schedules
#    - triggers
#    - web
Daniel Wortmann's avatar
Daniel Wortmann committed
61 62 63 64
  
doxygen:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
  stage: html
Daniel Wortmann's avatar
Daniel Wortmann committed
65 66 67
  cache:
     paths:
       - build
Daniel Wortmann's avatar
Daniel Wortmann committed
68
       - public
69 70
  script:
    - cd /builds/fleur/fleur/build ; make doc
Daniel Wortmann's avatar
Daniel Wortmann committed
71
    - mkdir ../public
Daniel Wortmann's avatar
Daniel Wortmann committed
72
    - mv docs/html/ ../public/doxygen
73 74 75
  artifacts:
    paths:
      - public
76 77 78
      - build/fleur
      - build/fleur_MPI
      - build/inpgen
79 80 81
  only:
    - schedules
    - triggers
82 83
    - web

Daniel Wortmann's avatar
Daniel Wortmann committed
84
mkdocs:
85
  image: iffregistry.fz-juelich.de/fleur/fleur:mkdocs
Daniel Wortmann's avatar
Daniel Wortmann committed
86
  stage: html
87 88 89 90 91
  cache:
     paths:
       - public
  script:
    - cd /builds/fleur/fleur/docs/mkdocs ; mkdocs build
Daniel Wortmann's avatar
Daniel Wortmann committed
92
    - cp tutorial_scheme/color.css site/css/bootstrap-custom.min.css
Daniel Wortmann's avatar
Daniel Wortmann committed
93
    - mkdir ../../public
Daniel Wortmann's avatar
Daniel Wortmann committed
94
    - mv site ../../public/site
95 96 97
  artifacts:
    paths:
      - public
Daniel Wortmann's avatar
Daniel Wortmann committed
98 99 100 101
#  only:
#    - schedules
#    - triggers
#    - web
102

103 104
build-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
105
  stage: build
106 107 108 109 110
  cache: 
     paths:
       - build.pgi
  script:
    - cd /builds/fleur/fleur; ./configure.sh -l pgi ; cd build.pgi; make 
Daniel Wortmann's avatar
Daniel Wortmann committed
111
  allow_failure: true
112 113 114 115
  only:
    - schedules
    - triggers
    - web
116
 
117
    
118 119
test-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
120 121 122
  stage: test
  dependencies:
    - build-pgi
123 124 125 126 127
  cache:
     paths:
       - build.pgi
  script:
    - cd /builds/fleur/fleur/build.pgi;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
128
  allow_failure: true
129 130 131 132
  only:
     - schedules
     - web
     - triggers
133
     
134 135 136

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
137
  stage: build
138 139 140 141 142 143 144 145 146 147 148 149
  cache: 
     paths:
       - build.intel-static
  script:
    - 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 4
  artifacts:
    when: on_success
    paths:
    - build.intel-static/fleur
    - build.intel-static/fleur_MPI
    - build.intel-static/inpgen
Daniel Wortmann's avatar
Daniel Wortmann committed
150
  allow_failure: true
151 152 153 154 155 156
  only:
    - schedules
    - triggers
    - web
 

157
build-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
158
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
159
  stage: build
160 161
  cache: 
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
162
       - build.intel.debug
163
  script:
164
    - set +e && source compilervars.sh intel64 && set -e ; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
165
    - cd /builds/fleur/fleur; CC=gcc FC=mpiifort  FLEUR_LIBRARIES="-lmkl_scalapack_lp64;-lmkl_blacs_intelmpi_lp64" ./configure.sh -t -d -l intel INTEL_MPI ; cd build.intel.debug; make -j 4
Daniel Wortmann's avatar
Daniel Wortmann committed
166
  allow_failure: true
167 168 169 170
  only:
    - schedules
    - triggers
    - web
171 172 173
 
    
test-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
174
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
175 176 177
  stage: test
  dependencies:
     - build-intel
178 179
  cache:
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
180
       - build.intel.debug
181
  script:
182
    - set +e && source compilervars.sh intel64 && set -e; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
183
    - cd /builds/fleur/fleur/build.intel.debug;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
184
  allow_failure: true
185 186 187
  artifacts:
    when: on_failure
    paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
188 189
      - build.intel.debug/Testing/failed
      - build.intel.debug/Testing/test.oldlogs
190 191 192 193
  only:
     - schedules
     - web
     - triggers
194 195 196

gfortran-coverage:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
197
  stage: html
Daniel Wortmann's avatar
Daniel Wortmann committed
198
  cache: 
Daniel Wortmann's avatar
Daniel Wortmann committed
199
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
200
        - build
201
  script:
202
      - cd /builds/fleur/fleur; ./configure.sh -l coverage -flags --coverage GITLAB; cd build.coverage; make -j 4
203
      - lcov --capture --initial -d CMakeFiles -o baseline.info
Daniel Wortmann's avatar
Daniel Wortmann committed
204
      - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";ctest
205 206 207
      - lcov --capture  -d CMakeFiles -o after.info 
      - 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
208
      - mkdir ../public;mv html_out ../public/coverage_html
Daniel Wortmann's avatar
Daniel Wortmann committed
209
  allow_failure: true
210 211 212
  artifacts:
    paths:
      - public 
Daniel Wortmann's avatar
Daniel Wortmann committed
213 214 215
  environment:
    name: Coverage
    url: https://fleur.iffgit.fz-juelich.de/fleur/coverage_html
216 217
  only:
      - web
218
      - schedules