.gitlab-ci.yml 4.49 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
14 15
     expire_in:
       - 1h
Daniel Wortmann's avatar
Daniel Wortmann committed
16
  script:
17
    - cd /builds/fleur/fleur; ./configure.sh GITLAB; cd build; make -j 4
18 19 20 21
#  only:
#    - schedules
#    - triggers
#    - web
22

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

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

81

82 83
build-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
84
  stage: build
85 86 87 88 89
  cache: 
     paths:
       - build.pgi
  script:
    - cd /builds/fleur/fleur; ./configure.sh -l pgi ; cd build.pgi; make 
Daniel Wortmann's avatar
Daniel Wortmann committed
90
  allow_failure: true
91 92 93 94
  only:
    - schedules
    - triggers
    - web
95
 
96
    
97 98
test-pgi:
  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
Daniel Wortmann's avatar
Daniel Wortmann committed
99 100 101
  stage: test
  dependencies:
    - build-pgi
102 103 104 105 106
  cache:
     paths:
       - build.pgi
  script:
    - cd /builds/fleur/fleur/build.pgi;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
107
  allow_failure: true
108 109 110 111
  only:
     - schedules
     - web
     - triggers
112
     
113 114 115

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
116
  stage: build
117 118 119 120 121 122 123 124 125 126 127 128
  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
129
  allow_failure: true
130 131 132 133 134 135
  only:
    - schedules
    - triggers
    - web
 

136
build-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
137
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
138
  stage: build
139 140
  cache: 
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
141
       - build.intel.debug
142
  script:
143
    - set +e && source compilervars.sh intel64 && set -e ; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
144
    - 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
145
  allow_failure: true
146 147 148 149
  only:
    - schedules
    - triggers
    - web
150 151 152
 
    
test-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
153
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
154 155 156
  stage: test
  dependencies:
     - build-intel
157 158
  cache:
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
159
       - build.intel.debug
160
  script:
161
    - set +e && source compilervars.sh intel64 && set -e; ulimit -s unlimited
Daniel Wortmann's avatar
Daniel Wortmann committed
162
    - cd /builds/fleur/fleur/build.intel.debug;ctest
Daniel Wortmann's avatar
Daniel Wortmann committed
163
  allow_failure: true
164 165 166
  artifacts:
    when: on_failure
    paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
167 168
      - build.intel.debug/Testing/failed
      - build.intel.debug/Testing/test.oldlogs
169 170 171 172
  only:
     - schedules
     - web
     - triggers
173 174 175

gfortran-coverage:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
176
  stage: html
Daniel Wortmann's avatar
Daniel Wortmann committed
177
  cache: 
Daniel Wortmann's avatar
Daniel Wortmann committed
178
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
179
        - build
180
  script:
181
      - cd /builds/fleur/fleur; ./configure.sh -l coverage -flags --coverage GITLAB; cd build.coverage; make -j 4
182
      - lcov --capture --initial -d CMakeFiles -o baseline.info
Daniel Wortmann's avatar
Daniel Wortmann committed
183
      - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";ctest
184 185 186
      - 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
187
      - mkdir ../public;mv html_out ../public/coverage_html
Daniel Wortmann's avatar
Daniel Wortmann committed
188
  allow_failure: true
189 190 191
  artifacts:
    paths:
      - public 
Daniel Wortmann's avatar
Daniel Wortmann committed
192 193 194
  environment:
    name: Coverage
    url: https://fleur.iffgit.fz-juelich.de/fleur/coverage_html
195 196
  only:
      - web
197
      - schedules