.gitlab-ci.yml 4.72 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
Daniel Wortmann's avatar
Daniel Wortmann committed
17
  allow_failure: true
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
27
28
29
  stage: test
  cache:
     paths:
       - build
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
30
    - 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
31
  allow_failure: true
32
  artifacts:
33
    when: on_failure
34
    paths:
35
      - build/Testing/failed
36
      - build/Testing/test.oldlogs
37
38
39
40
#  only:
#    - schedules
#    - triggers
#    - web
Daniel Wortmann's avatar
Daniel Wortmann committed
41

42
pages:
43
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
44
  stage: deploy
Daniel Wortmann's avatar
Daniel Wortmann committed
45
46
  cache:
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
47
        - build
Daniel Wortmann's avatar
Daniel Wortmann committed
48
        - public
Daniel Wortmann's avatar
Daniel Wortmann committed
49
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
50
    - echo "HTML should be ready from cache..."
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
57
58
59
60
61
62
63
64
     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
65
66
67
  cache:
     paths:
       - build
Daniel Wortmann's avatar
Daniel Wortmann committed
68
       - public
69
70
71
  script:
    - cd /builds/fleur/fleur/build ; make doc
    - mv docs/html/ ../public/
Daniel Wortmann's avatar
Daniel Wortmann committed
72
    - mv /builds/fleur/fleur/docs/Docu_main.html ../public/index.html
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/base.css
93
94
95
96
97
98
99
100
    - mv site ../public/
  artifacts:
    paths:
      - public
  only:
    - schedules
    - triggers
    - web
101

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

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
134
  stage: build
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
  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
 

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

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