.gitlab-ci.yml 2.55 KB
Newer Older
Florian Hindenlang's avatar
Florian Hindenlang committed
1
2
3

stages:
  - build
Florian Hindenlang's avatar
Florian Hindenlang committed
4
  - clean_build_fail
Florian Hindenlang's avatar
Florian Hindenlang committed
5
  - test
Florian Hindenlang's avatar
Florian Hindenlang committed
6
  - final_clean
Florian Hindenlang's avatar
Florian Hindenlang committed
7
8
9
10
11
12
13

# ---------------------------------------------------------------------------------------------------------------------------------
# Stage "build"
# ---------------------------------------------------------------------------------------------------------------------------------
build_debug:
  stage: build 
  script: 
Florian Hindenlang's avatar
Florian Hindenlang committed
14
    - rm -rf build_debug || true
Florian Hindenlang's avatar
Florian Hindenlang committed
15
    - mkdir -p build_debug
Florian Hindenlang's avatar
Florian Hindenlang committed
16
    - cd ode-1 ; make clean ; make DEBUG=yes 2>../build_debug/stderr 1>../build_debug/stdout
Florian Hindenlang's avatar
Florian Hindenlang committed
17
    - cd ..
Florian Hindenlang's avatar
Florian Hindenlang committed
18
19
    - cat build_debug/stdout
    - cp rk_solve build_debug/.
Florian Hindenlang's avatar
Florian Hindenlang committed
20
  artifacts:
Florian Hindenlang's avatar
Florian Hindenlang committed
21
22
    untracked: true
    when: always
Florian Hindenlang's avatar
Florian Hindenlang committed
23
24
25
26
27
28
    paths:
    - build_debug

build_release:
  stage: build 
  script: 
Florian Hindenlang's avatar
Florian Hindenlang committed
29
    - rm -rf build_release || true
Florian Hindenlang's avatar
Florian Hindenlang committed
30
    - mkdir -p build_release
Florian Hindenlang's avatar
Florian Hindenlang committed
31
32
33
    - cd ode-1 ; make clean 
    - make DEBUG=no 2>../build_release/stderr 1>../build_release/stdout
    - cd ..
Florian Hindenlang's avatar
Florian Hindenlang committed
34
    - cat build_release/stdout
Florian Hindenlang's avatar
Florian Hindenlang committed
35
    - cp rk_solve build_release/.
Florian Hindenlang's avatar
Florian Hindenlang committed
36
  artifacts:
Florian Hindenlang's avatar
Florian Hindenlang committed
37
38
    untracked: true
    when: always
Florian Hindenlang's avatar
Florian Hindenlang committed
39
40
41
    paths:
    - build_release

Florian Hindenlang's avatar
Florian Hindenlang committed
42
43
44
45
# ---------------------------------------------------------------------------------------------------------------------------------
# Stage "error_clean_build": delete build folders if previous builds fail and exit
# ---------------------------------------------------------------------------------------------------------------------------------
clean_build:
Florian Hindenlang's avatar
Florian Hindenlang committed
46
  stage: clean_build_fail
Florian Hindenlang's avatar
Florian Hindenlang committed
47
48
49
50
  script:
    - rm -rf build_*
  when: on_failure

Florian Hindenlang's avatar
Florian Hindenlang committed
51
52
53
54
55
56
# ---------------------------------------------------------------------------------------------------------------------------------
# Stage "test" 
# ---------------------------------------------------------------------------------------------------------------------------------
test_debug:
  stage: test
  script: 
57
    - cd testing ; python3 run_tests.py -execpath build_debug/rk_solve
Florian Hindenlang's avatar
Florian Hindenlang committed
58
  artifacts:
59
60
    untracked: true
    when: always
Florian Hindenlang's avatar
Florian Hindenlang committed
61
    paths:
Florian Hindenlang's avatar
Florian Hindenlang committed
62
    - testing
Florian Hindenlang's avatar
Florian Hindenlang committed
63

Florian Hindenlang's avatar
Florian Hindenlang committed
64
test_release:
Florian Hindenlang's avatar
Florian Hindenlang committed
65
66
  stage: test
  script: 
67
    - cd testing ;  python3 run_tests.py -execpath build_release/rk_solve
Florian Hindenlang's avatar
Florian Hindenlang committed
68
  artifacts:
69
70
    untracked: true
    when: always
Florian Hindenlang's avatar
Florian Hindenlang committed
71
    paths:
Florian Hindenlang's avatar
Florian Hindenlang committed
72
73
74
75
    - testing
# ---------------------------------------------------------------------------------------------------------------------------------
# Stage "final_clean": delete build folders if previous builds fail and exit
# ---------------------------------------------------------------------------------------------------------------------------------
Florian Hindenlang's avatar
Florian Hindenlang committed
76
77
clean_all:
  stage: final_clean
Florian Hindenlang's avatar
Florian Hindenlang committed
78
79
80
81
82
  script:
    - rm -rf build_*
    - cd testing
    - rm -rf dirx_*
  when: on_success