gitlab-ci: store the build log on failure
[barrelfish] / .gitlab-ci.yml
1 ##########################################################################
2 # Copyright (c) 2018 ETH Zurich.
3 # All rights reserved.
4 #
5 # This file is distributed under the terms in the attached LICENSE file.
6 # If you do not find this file, copies can be found by writing to:
7 # ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich,
8 # Attn: Systems Group.
9 ##########################################################################
10
11 stages:
12   - commithooks
13   - hake
14   - build
15   # - tests
16
17
18 ##############################################################################
19
20 commithook-signedoff:
21   stage: commithooks
22   image: achreto/barrelfish-ci
23   script:
24     - "! git log  --since='2018-01-01' --invert-grep --grep='Signed-off-by' 
25         | tee 'commits_not_signed.txt' | grep 'commit' -A 5"
26     
27 ##############################################################################
28
29 hake-tool:
30   stage: hake
31   image: achreto/barrelfish-ci
32   script:
33     - "mkdir build; (cd build && ../hake/hake.sh --no-hake -s ../ -a x86_64)"
34
35 hake-files:
36   stage: hake
37   image: achreto/barrelfish-ci
38   script:
39     - "mkdir build; (cd build && ../hake/hake.sh --no-deps -s ../ -a x86_64)"    
40
41 ##############################################################################
42
43
44 build-x86:
45   stage: build
46   image: achreto/barrelfish-ci
47   artifacts:
48     paths:
49       - build-x86.log
50     when: on_failure
51   script:
52     - "mkdir build-x86; 
53        (cd build-x86 && ../hake/hake.sh -s ../ -a x86_64 && make X86_64_Basic -j4 > ../build.log);
54        rm -rf build-x86"
55
56
57 build-armv7:
58   stage: build
59   image: achreto/barrelfish-ci
60   artifacts:
61     paths:
62       - build-armv7.log
63     when: on_failure
64   script:
65     - "mkdir build-armv7; 
66        (cd build-armv7 && ../hake/hake.sh -s ../ -a armv7 && make ARMV7_Basic -j4 > ../build-armv7.log);
67        rm -rf build-armv7"
68
69
70 build-armv8:
71   stage: build
72   image: achreto/barrelfish-ci
73   artifacts:
74     paths:
75       - build-armv8.log
76     when: on_failure
77   script:
78     - "mkdir build-armv8; 
79        (cd build-armv8 && ../hake/hake.sh -s ../ -a armv8 && make ARMV8_Basic -j4  > ../build-armv8.log);
80        rm -rf build-armv8;"
81
82
83 ##############################################################################
84
85 # x86:build:
86 #   stage: build
87 #   dependencies:
88 #     - x86:hake
89 #   image: achreto/barrelfish-ci
90 #   script:
91 #     - "(cd build-x86 &&  make X86_64_Basic)"
92
93 # x86:memtest:
94 #   stage: tests
95 #   dependencies:
96 #     - x86:build
97 #   image: achreto/barrelfish-ci
98 #   script:
99 #     - "mkdir -p results"
100 #     - "(./tools/harness/scalebench.py --xml --debug -B build-x86 -m qemu1 -t memtest . results )"    
101
102 # x86:memtest4:
103 #   stage: tests
104 #   dependencies:
105 #     - x86:build
106 #   image: achreto/barrelfish-ci
107 #   script:
108 #     - "mkdir -p results"
109 #     - "(./tools/harness/scalebench.py --xml --debug -B build-x86 -m qemu4 -t memtest . results )"    
110
111
112 # ##############################################################################
113
114
115 # armv7:hake:
116 #   stage: hake
117 #   image: achreto/barrelfish-ci
118 #   artifacts:
119 #     paths:
120 #       - build-armv7
121 #     when: on_success
122 #   script:
123 #     - "mkdir build-armv7; (cd build-armv7 && ../hake/hake.sh -s ../ -a armv7)"
124
125
126 # armv7:build:
127 #   stage: build
128 #   dependencies:
129 #     - armv7:hake
130 #   image: achreto/barrelfish-ci
131 #   script:
132 #     - "(cd build-armv7 &&  make PandaboardES)"
133
134 # armv7:memtest:
135 #   stage: tests
136 #   dependencies:
137 #     - armv7:build
138 #   image: achreto/barrelfish-ci
139 #   script:
140 #     - "mkdir -p results"
141 #     - "(./tools/harness/scalebench.py --xml --debug -B build-armv7 -m qemu_armv7 -t memtest . results )"
142
143
144 # ##############################################################################
145
146
147 # armv8:hake:
148 #   stage: hake
149 #   image: achreto/barrelfish-ci
150 #   artifacts:
151 #     paths:
152 #       - build-armv8
153 #     when: on_success
154 #   script:
155 #     - "mkdir build-armv8; (cd build-armv8 && ../hake/hake.sh -s ../ -a armv8)"#
156 # #
157
158 # armv8:build:
159 #   stage: build
160 #   dependencies:
161 #     - armv8:hake
162 #   image: achreto/barrelfish-ci
163 #   script:
164 #     - "(cd build-armv8 &&  make ThunderX)"    
165
166 # armv8:memtest:
167 #   stage: tests
168 #   dependencies:
169 #     - armv8:build
170 #   image: achreto/barrelfish-ci
171 #   script:
172 #     - "mkdir -p results"
173 #     - "(./tools/harness/scalebench.py --xml --debug -B build-armv8 -m qemu_armv8_1 -t memtest . results )"