.gitlab-ci.yml 2.82 KB
Newer Older
Dion Haefner's avatar
typo  
Dion Haefner committed
1
image: dorie/dune-env:2.4
Dion Haefner's avatar
Dion Haefner committed
2

Dion Haefner's avatar
Dion Haefner committed
3 4 5 6 7
variables:
  DUNE_CONTROL_PATH: /opt/dune:$CI_PROJECT_DIR

before_script:
  - cd /opt/dune
8
  - git clone https://gitlab.dune-project.org/staging/dune-functions.git
9
  - git clone https://gitlab.dune-project.org/staging/dune-uggrid.git
10
  - ./dune-common/bin/dunecontrol update || true
11
  - ./dune-common/bin/dunecontrol --only=dune-common git checkout releases/2.5
12
  - ./dune-common/bin/dunecontrol --only=dune-uggrid git checkout releases/2.5
13 14 15 16 17 18 19 20 21
  - ./dune-common/bin/dunecontrol --only=dune-istl git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-grid git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-functions git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-localfunctions git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-geometry git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-python git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-testtools git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-pdelab git checkout releases/2.5
  - ./dune-common/bin/dunecontrol --only=dune-typetree git checkout master
Dion Haefner's avatar
Dion Haefner committed
22

Dion Haefner's avatar
Dion Haefner committed
23
stages:
24 25
  - build
  - deploy
Dion Haefner's avatar
Dion Haefner committed
26

27
build:main:
28 29
  tags:
    - docker
Dion Haefner's avatar
Dion Haefner committed
30
  script:
Lukas Riedel's avatar
Lukas Riedel committed
31
    - MAKE_FLAGS="-j 2" ./dune-common/bin/dunecontrol --module=dorie all
Dion Haefner's avatar
Dion Haefner committed
32
    - export PATH=/opt/dune/dorie/build-cmake/bin:$PATH
33 34 35 36 37 38 39 40
    - ARGS="--output-on-failure -j 2" ./dune-common/bin/dunecontrol --only=dorie make test
    - ./dune-common/bin/dunecontrol --only=dorie make doc
  stage: build
  artifacts:
    name: "$CI_BUILD_NAME"
    paths:
      - $CI_PROJECT_DIR/build-cmake/doc/html/
    expire_in: 1 week
41

Dion Haefner's avatar
Dion Haefner committed
42
build:python3:
43 44
  tags:
    - docker
Dion Haefner's avatar
Dion Haefner committed
45
  script:
46 47 48 49
    - ./dune-common/bin/dunecontrol --only=dune-python exec "rm -rf build-cmake"
    - ./dune-common/bin/dunecontrol --only=dune-testtools exec "rm -rf build-cmake"
    - ./dune-common/bin/dunecontrol --only=dorie exec "rm -rf build-cmake"
    - CMAKE_FLAGS="-DDUNE_FORCE_PYTHON3=True" MAKE_FLAGS="-j 2" ./dune-common/bin/dunecontrol all
Dion Haefner's avatar
Dion Haefner committed
50 51 52 53
    - export PATH=/opt/dune/dorie/build-cmake/bin:$PATH
    - ARGS="--output-on-failure -j 2" ./dune-common/bin/dunecontrol --only=dorie make test
  stage: build

54
build:update_dune:
55 56
  tags:
    - docker
57
  script:
Dion Haefner's avatar
Dion Haefner committed
58
    - ./dune-common/bin/dunecontrol update || true
59
    - ./dune-common/bin/dunecontrol exec "rm -rf build-cmake"
60
    - MAKE_FLAGS="-j 2" ./dune-common/bin/dunecontrol all
Dion Haefner's avatar
Dion Haefner committed
61
    - export PATH=/opt/dune/dorie/build-cmake/bin:$PATH
62 63 64
    - ARGS="--output-on-failure -j 2" ./dune-common/bin/dunecontrol --only=dorie make test
  stage: build

65
build:debug:
66 67
  tags:
    - docker
68 69
  script:
    - CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug" ./dune-common/bin/dunecontrol --only=dorie all
Dion Haefner's avatar
debug  
Dion Haefner committed
70
  stage: build
71

72
deploy:docs:
73 74
  tags:
    - docker
75
  script:
Dion Haefner's avatar
Dion Haefner committed
76
    - cd $CI_PROJECT_DIR && bash .deploy_docs
77 78 79
  stage: deploy
  only:
    - master