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

8

Daniel Wortmann's avatar
Daniel Wortmann committed
9
build-gfortran-hdf5:
10
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
11 12 13 14 15
  stage: build
  cache: 
     paths:
       - build
  script:
16
    - cd /builds/fleur/fleur; ./configure.sh GITLAB; cd build; make -j 4
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
30
  artifacts:
31
    when: on_failure
32
    paths:
33
      - build/Testing/failed
34
      - build/Testing/test.oldlogs
35 36 37 38
#  only:
#    - schedules
#    - triggers
#    - web
Daniel Wortmann's avatar
Daniel Wortmann committed
39

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

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

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

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
131
  stage: build
132 133 134 135 136 137 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
  only:
    - schedules
    - triggers
    - web
 

150
build-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
151
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
152
  stage: build
153 154
  cache: 
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
155
       - build.intel.debug
156
  script:
157
    - set +e && source compilervars.sh intel64 && set -e ; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
158
    - 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
159 160 161 162
  only:
    - schedules
    - triggers
    - web
163 164 165
 
    
test-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
166
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
167 168 169
  stage: test
  dependencies:
     - build-intel
170 171
  cache:
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
172
       - build.intel.debug
173
  script:
174
    - set +e && source compilervars.sh intel64 && set -e; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
175
    - cd /builds/fleur/fleur/build.intel.debug;ctest
176 177 178
  artifacts:
    when: on_failure
    paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
179 180
      - build.intel.debug/Testing/failed
      - build.intel.debug/Testing/test.oldlogs
181 182 183 184
  only:
     - schedules
     - web
     - triggers
185 186 187 188

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