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

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

8 9
build_starpu:
  stage: build
10
  artifacts:
11
    name: starpu_build
PRUVOST Florent's avatar
PRUVOST Florent committed
12
    expire_in: 48 hours
13 14
    paths:
      - build
15
      - chameleon-build-starpu.log
16
  script:
17 18 19
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
    - mkdir -p build
20
    - cd build
21
    - cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install -DCMAKE_VERBOSE_MAKEFILE=ON -DMORSE_ENABLE_WARNING=ON -DMORSE_ENABLE_COVERAGE=ON
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
    - make | tee ../chameleon-build-starpu.log
    - make install | tee -a ../chameleon-build-starpu.log

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
    - make install | tee -a ../chameleon-build-starpu-simgrid.log
41

PRUVOST Florent's avatar
PRUVOST Florent committed
42 43 44 45
build_quark:
  stage: build
  artifacts:
    name: quark_build
PRUVOST Florent's avatar
PRUVOST Florent committed
46
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
47 48
    paths:
      - build
49
      - chameleon-build-quark.log
PRUVOST Florent's avatar
PRUVOST Florent committed
50 51 52 53 54 55
  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
56 57
    - make | tee ../chameleon-build-quark.log
    - make install | tee -a ../chameleon-build-quark.log
PRUVOST Florent's avatar
PRUVOST Florent committed
58

59 60 61 62
test_starpu:
  stage: test
  dependencies:
    - build_starpu
PRUVOST Florent's avatar
PRUVOST Florent committed
63
  artifacts:
64
    name: starpu_test
PRUVOST Florent's avatar
PRUVOST Florent committed
65
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
66
    paths:
PRUVOST Florent's avatar
PRUVOST Florent committed
67
      - coverage_starpu.tar.bz2
68 69 70
  script:
    - source .gitlab-ci-env.sh
    - git submodule update --init --recursive
71
    - (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)
PRUVOST Florent's avatar
PRUVOST Florent committed
72 73
    - find -name "*.gcda" | xargs tar cvjf coverage_starpu.tar.bz2

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
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
89 90 91 92 93
test_quark:
  stage: test
  dependencies:
    - build_quark
  artifacts:
94
    name: quark_test
PRUVOST Florent's avatar
PRUVOST Florent committed
95
    expire_in: 48 hours
PRUVOST Florent's avatar
PRUVOST Florent committed
96 97 98 99 100 101 102
    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
103

104 105 106 107
sonar:
  stage: analysis
  dependencies:
    - build_starpu
108
    - build_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
109
    - build_quark
110
    - test_starpu
111
    - test_starpu_simgrid
PRUVOST Florent's avatar
PRUVOST Florent committed
112
    - test_quark
PRUVOST Florent's avatar
PRUVOST Florent committed
113 114 115 116 117 118 119 120 121 122 123
  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
124
    - tar xvjf coverage_starpu.tar.bz2
125
    - tar xvjf coverage_starpu_simgrid.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
126
    - tar xvjf coverage_quark.tar.bz2
PRUVOST Florent's avatar
PRUVOST Florent committed
127
    - ./tools/analysis.sh
128
  only:
129
    - master
130 131
    - issue53/fix-ci

132 133 134 135 136 137 138 139 140 141 142 143 144 145
doc:
  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
    - cmake .. -DCHAMELEON_ENABLE_DOC=ON -DCHAMELEON_ENABLE_EXAMPLE=OFF -DCHAMELEON_ENABLE_TESTING=OFF -DCHAMELEON_ENABLE_TIMING=OFF
    - make doc