.gitlab-ci.yml 4.08 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
   - deploy
Daniel Wortmann's avatar
Daniel Wortmann committed
6 7
   - build-pgi
   - test-pgi
8
   - build-intel-static
Daniel Wortmann's avatar
Daniel Wortmann committed
9 10
   - build-intel
   - test-intel
Daniel Wortmann's avatar
Daniel Wortmann committed
11

12

Daniel Wortmann's avatar
Daniel Wortmann committed
13
build-gfortran-hdf5:
14
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
15 16 17 18 19
  stage: build
  cache: 
     paths:
       - build
  script:
20
    - cd /builds/fleur/fleur; ./configure.sh GITLAB; cd build; make -j 4
21 22 23 24
#  only:
#    - schedules
#    - triggers
#    - web
25

26
test-gfortran-hdf5:
27
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
Daniel Wortmann's avatar
Daniel Wortmann committed
28 29 30 31 32
  stage: test
  cache:
     paths:
       - build
  script:
Daniel Wortmann's avatar
Daniel Wortmann committed
33
    - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";export OMP_NUM_THREADS=4;cd /builds/fleur/fleur/build;ctest
34
  artifacts:
35
    when: on_failure
36
    paths:
37
      - build/Testing/failed
38
      - build/Testing/test.oldlogs
39 40 41 42
#  only:
#    - schedules
#    - triggers
#    - web
43
  
44
pages:
45
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
46 47 48 49
  stage: deploy
  cache:
     paths:
       - build
Daniel Wortmann's avatar
Daniel Wortmann committed
50
       - public
51 52 53
  script:
    - cd /builds/fleur/fleur/build ; make doc
    - mv docs/html/ ../public/
Daniel Wortmann's avatar
Daniel Wortmann committed
54
    - mv /builds/fleur/fleur/docs/Docu_main.html ../public/index.html
Daniel Wortmann's avatar
Daniel Wortmann committed
55 56 57
  environment:
    name: Doxygen
    url: https://fleur.iffgit.fz-juelich.de/fleur
58 59 60
  artifacts:
    paths:
      - public
61 62 63
      - build/fleur
      - build/fleur_MPI
      - build/inpgen
64 65 66 67
  only:
    - schedules
    - triggers
    - web 
68

69 70 71 72 73 74 75 76 77 78 79 80
#build-pgi:
#  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
#  stage: build-pgi
#  cache: 
#     paths:
#       - build.debug
#  script:
#    - cd /builds/fleur/fleur; ./configure.sh -d AUTO ; cd build.debug; make 
#  only:
#    - schedules
#    - triggers
#    - web
81
 
82
    
83 84 85 86 87 88 89 90 91 92 93 94
#test-pgi:
#  image: iffregistry.fz-juelich.de/fleur/fleur:pgi
#  stage: test-pgi
#  cache:
#     paths:
#       - build.debug
#  script:
#    - cd /builds/fleur/fleur/build.debug;ctest
#  only:
#     - schedules
#     - web
#     - triggers
95
     
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

build-intel-static:
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
  stage: build-intel-static
  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
 

118
build-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
119
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
120 121 122 123 124
  stage: build-intel
  cache: 
     paths:
       - build.intel
  script:
125
    - set +e && source compilervars.sh intel64 && set -e ; ulimit -s unlimited
126
    - cd /builds/fleur/fleur; FC=mpiifort  FLEUR_LIBRARIES="-lmkl_scalapack_lp64;-lmkl_blacs_intelmpi_lp64" ./configure.sh -t -l intel INTEL_MPI ; cd build.intel; make -j 4
127 128 129 130
  only:
    - schedules
    - triggers
    - web
131 132 133
 
    
test-intel:
Daniel Wortmann's avatar
Daniel Wortmann committed
134
  image: iffregistry.fz-juelich.de/fleur/fleur:intel-static
135 136 137 138 139
  stage: test-intel
  cache:
     paths:
       - build.intel
  script:
140
    - set +e && source compilervars.sh intel64 && set -e; ulimit -s unlimited
141
    - cd /builds/fleur/fleur/build.intel;ctest
142 143 144
  artifacts:
    when: on_failure
    paths:
145
      - build/Testing/failed
146
      - build/Testing/test.oldlogs
147 148 149 150
  only:
     - schedules
     - web
     - triggers
151 152 153 154

gfortran-coverage:
  image: iffregistry.fz-juelich.de/fleur/fleur:latest
  stage: coverage
Daniel Wortmann's avatar
Daniel Wortmann committed
155
  cache: 
Daniel Wortmann's avatar
Daniel Wortmann committed
156
     paths:
Daniel Wortmann's avatar
Daniel Wortmann committed
157
        - build
158
  script:
159
      - cd /builds/fleur/fleur; ./configure.sh -l coverage -flags --coverage GITLAB; cd build.coverage; make -j 4
160
      - lcov --capture --initial -d CMakeFiles -o baseline.info
Daniel Wortmann's avatar
Daniel Wortmann committed
161
      - ulimit -s unlimited ;export juDFT_MPI="mpirun -n 2 --allow-run-as-root ";ctest
162 163 164
      - 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
165
      - mkdir ../public;mv html_out ../public/coverage_html
166 167 168
  artifacts:
    paths:
      - public 
Daniel Wortmann's avatar
Daniel Wortmann committed
169 170 171
  environment:
    name: Coverage
    url: https://fleur.iffgit.fz-juelich.de/fleur/coverage_html
172 173
  only:
      - web
174
      - schedules