gitlab-ci: using moderate parallelism for running builds
[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
50   #   when: on_success
51   script:
52     - "mkdir build-x86; 
53        (cd build-x86 && ../hake/hake.sh -s ../ -a x86_64 && make X86_64_Basic -j4)"
54
55
56 build-armv7:
57   stage: build
58   image: achreto/barrelfish-ci
59   # artifacts:
60   #   paths:
61   #     - build-x86
62   #   when: on_success
63   script:
64     - "mkdir build-armv7; 
65        (cd build-armv7 && ../hake/hake.sh -s ../ -a armv7 && make ARMV7_Basic -j4)"
66
67
68 build-armv8:
69   stage: build
70   image: achreto/barrelfish-ci
71   # artifacts:
72   #   paths:
73   #     - build-x86
74   #   when: on_success
75   script:
76     - "mkdir build-armv8; 
77        (cd build-armv8 && ../hake/hake.sh -s ../ -a armv8 && make ARMV8_Basic -j4)"           
78
79 # x86:build:
80 #   stage: build
81 #   dependencies:
82 #     - x86:hake
83 #   image: achreto/barrelfish-ci
84 #   script:
85 #     - "(cd build-x86 &&  make X86_64_Basic)"
86
87 # x86:memtest:
88 #   stage: tests
89 #   dependencies:
90 #     - x86:build
91 #   image: achreto/barrelfish-ci
92 #   script:
93 #     - "mkdir -p results"
94 #     - "(./tools/harness/scalebench.py --xml --debug -B build-x86 -m qemu1 -t memtest . results )"    
95
96 # x86:memtest4:
97 #   stage: tests
98 #   dependencies:
99 #     - x86:build
100 #   image: achreto/barrelfish-ci
101 #   script:
102 #     - "mkdir -p results"
103 #     - "(./tools/harness/scalebench.py --xml --debug -B build-x86 -m qemu4 -t memtest . results )"    
104
105
106 # ##############################################################################
107
108
109 # armv7:hake:
110 #   stage: hake
111 #   image: achreto/barrelfish-ci
112 #   artifacts:
113 #     paths:
114 #       - build-armv7
115 #     when: on_success
116 #   script:
117 #     - "mkdir build-armv7; (cd build-armv7 && ../hake/hake.sh -s ../ -a armv7)"
118
119
120 # armv7:build:
121 #   stage: build
122 #   dependencies:
123 #     - armv7:hake
124 #   image: achreto/barrelfish-ci
125 #   script:
126 #     - "(cd build-armv7 &&  make PandaboardES)"
127
128 # armv7:memtest:
129 #   stage: tests
130 #   dependencies:
131 #     - armv7:build
132 #   image: achreto/barrelfish-ci
133 #   script:
134 #     - "mkdir -p results"
135 #     - "(./tools/harness/scalebench.py --xml --debug -B build-armv7 -m qemu_armv7 -t memtest . results )"
136
137
138 # ##############################################################################
139
140
141 # armv8:hake:
142 #   stage: hake
143 #   image: achreto/barrelfish-ci
144 #   artifacts:
145 #     paths:
146 #       - build-armv8
147 #     when: on_success
148 #   script:
149 #     - "mkdir build-armv8; (cd build-armv8 && ../hake/hake.sh -s ../ -a armv8)"#
150 # #
151
152 # armv8:build:
153 #   stage: build
154 #   dependencies:
155 #     - armv8:hake
156 #   image: achreto/barrelfish-ci
157 #   script:
158 #     - "(cd build-armv8 &&  make ThunderX)"    
159
160 # armv8:memtest:
161 #   stage: tests
162 #   dependencies:
163 #     - armv8:build
164 #   image: achreto/barrelfish-ci
165 #   script:
166 #     - "mkdir -p results"
167 #     - "(./tools/harness/scalebench.py --xml --debug -B build-armv8 -m qemu_armv8_1 -t memtest . results )"