.gitlab-ci.yml 4.57 KB
Newer Older
1 2
image: hpclib/hiepacs

3 4 5 6
stages:
  - build
  - test
  - analysis
7
  - doc
8

9
build_starpu_mpi:
10
  stage: build
11
  artifacts:
12
    name: starpu_mpi_build
PRUVOST Florent's avatar
PRUVOST Florent committed
13
    expire_in: 48 hours
14 15
    paths:
      - build
16
      - chameleon-build-starpu.log
17
  script:
18 19 20
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
21
    - cd build
22
    - cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
23
    - make | tee ../chameleon-build-starpu.log
24
    - make install | tee -a ../chameleon-build-starpu.log && rm install/ -r
25

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
build_starpu_cuda:
  stage: build
  artifacts:
    name: starpu_cuda_build
    expire_in: 48 hours
    paths:
      - build
      - chameleon-build-starpu-cuda.log
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
    - make | tee ../chameleon-build-starpu-cuda.log
41
    - make install | tee -a ../chameleon-build-starpu-cuda.log && rm install/ -r
42

43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
build_starpu_simgrid:
  stage: build
  artifacts:
    name: starpu_simgrid_build
    expire_in: 48 hours
    paths:
      - build
      - chameleon-build-starpu-simgrid.log
  script:
    - source .gitlab-ci-env.sh simu
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
    - make | tee ../chameleon-build-starpu-simgrid.log
58
    - make install | tee -a ../chameleon-build-starpu-simgrid.log && rm install/ -r
59

PRUVOST Florent's avatar
PRUVOST Florent committed
60 61 62 63
build_quark:
  stage: build
  artifacts:
    name: quark_build
PRUVOST Florent's avatar
PRUVOST Florent committed
64
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
65 66
    paths:
      - build
67
      - chameleon-build-quark.log
PRUVOST Florent's avatar
PRUVOST Florent committed
68 69 70 71 72 73
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
    - cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON -DCHAMELEON_SCHED_QUARK=ON
74
    - make | tee ../chameleon-build-quark.log
75
    - make install | tee -a ../chameleon-build-quark.log && rm install/ -r
PRUVOST Florent's avatar
PRUVOST Florent committed
76

77
test_starpu_mpi:
78 79
  stage: test
  dependencies:
80
    - build_starpu_mpi
PRUVOST Florent's avatar
PRUVOST Florent committed
81
  artifacts:
82
    name: starpu_test
PRUVOST Florent's avatar
PRUVOST Florent committed
83
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
84
    paths:
85
      - coverage_starpu_mpi.tar.bz2
86 87 88
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
89
    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -R test_shm_s || /usr/bin/true && ctest --no-compress-output -R mpi_s || /usr/bin/true)
90
    - find -name "*.gcda" | xargs tar cvjf coverage_starpu_mpi.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
91

92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
test_starpu_simgrid:
  stage: test
  dependencies:
    - build_starpu_simgrid
  artifacts:
    name: starpu_test
    expire_in: 48 hours
    paths:
      - coverage_starpu_simgrid.tar.bz2
  script:
    - source .gitlab-ci-env.sh simu
    - git submodule update --init --recursive
    - (cd build && STARPU_SILENT=1 ctest --no-compress-output -V || /usr/bin/true)
    - find -name "*.gcda" | xargs tar cvjf coverage_starpu_simgrid.tar.bz2

PRUVOST Florent's avatar
PRUVOST Florent committed
107 108 109 110 111
test_quark:
  stage: test
  dependencies:
    - build_quark
  artifacts:
112
    name: quark_test
PRUVOST Florent's avatar
PRUVOST Florent committed
113
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
114 115 116 117 118 119 120
    paths:
      - coverage_quark.tar.bz2
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - (cd build && ctest --no-compress-output -R test_shm_s)
    - find -name "*.gcda" | xargs tar cvjf coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
121

122 123 124
sonar:
  stage: analysis
  dependencies:
125
    - build_starpu_mpi
126
    - build_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
127
    - build_quark
PRUVOST Florent's avatar
PRUVOST Florent committed
128
    - test_starpu_mpi
129
    - test_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
130
    - test_quark
PRUVOST Florent's avatar
PRUVOST Florent committed
131 132 133 134 135 136 137 138 139 140 141
  artifacts:
    name: chameleon_analysis
    expire_in: 1 week
    paths:
      - chameleon-build.log
      - chameleon-coverage.xml
      - chameleon-cppcheck.xml
      - chameleon-rats.xml
      - sonar.log
  script:
    - source .gitlab-ci-env.sh
PRUVOST Florent's avatar
PRUVOST Florent committed
142
    - tar xvjf coverage_starpu_mpi.tar.bz2
143
    - tar xvjf coverage_starpu_simgrid.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
144
    - tar xvjf coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
145
    - ./tools/analysis.sh
146
  only:
147
    - master
148 149
    - issue53/fix-ci

150
doc:
151
  stage: doc
152 153 154 155 156 157 158 159 160 161 162
  artifacts:
    name: chameleon_doc
    expire_in: 1 week
    paths:
      - build/doc/doxygen
      - build/doc/orgmode
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
    - cd build
163
    - cmake .. -DCHAMELEON_ENABLE_DOC=ON
164
    - make doc