Skip to content

Commit f6adb8e

Browse files
committedJun 3, 2019
ci: store Patchew configuration in the tree
Patchew cannot yet retrieve the configuration from the QEMU Git tree, but this is planned. In the meanwhile, let's start storing it as YAML so that the Patchew configuration (currently accessible only to administrators) is public and documented. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent 0659947 commit f6adb8e

File tree

1 file changed

+302
-0
lines changed

1 file changed

+302
-0
lines changed
 

‎.patchew.yml

+302
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
---
2+
# Note: this file is still unused. It serves as a documentation for the
3+
# Patchew configuration in case patchew.org disappears or has to be
4+
# reinstalled.
5+
#
6+
# Patchew configuration is available to project administrators at
7+
# https://patchew.org/api/v1/projects/1/config/ and can be configured
8+
# to YAML using the following Python script:
9+
#
10+
# import json
11+
# import sys
12+
# import ruamel.yaml
13+
#
14+
# json_str = sys.stdin.read()
15+
# yaml = ruamel.yaml.YAML()
16+
# yaml.explicit_start = True
17+
# data = json.loads(json_str, object_pairs_hook=ruamel.yaml.comments.CommentedMap)
18+
# ruamel.yaml.scalarstring.walk_tree(data)
19+
# yaml.dump(data, sys.stdout)
20+
21+
email:
22+
notifications:
23+
timeouts:
24+
event: TestingReport
25+
enabled: true
26+
to_user: false
27+
reply_subject: true
28+
set_reply_to: true
29+
in_reply_to: true
30+
reply_to_all: false
31+
subject_template: none
32+
to: fam@euphon.net
33+
cc: ''
34+
body_template: |
35+
{% if not is_timeout %} {{ cancel }} {% endif %}
36+
37+
Test '{{ test }}' timeout, log:
38+
39+
{{ log }}
40+
ENOSPC:
41+
event: TestingReport
42+
enabled: true
43+
to_user: false
44+
reply_subject: false
45+
set_reply_to: false
46+
in_reply_to: true
47+
reply_to_all: false
48+
subject_template: Out of space error
49+
to: fam@euphon.net
50+
cc: ''
51+
body_template: |
52+
{% if passed %}
53+
{{ cancel }}
54+
{% endif %}
55+
56+
{% if 'No space left on device' in log %}
57+
Tester {{ tester }} out of space when running {{ test }}
58+
59+
{{ log }}
60+
{% else %}
61+
{{ cancel }}
62+
{% endif %}
63+
FailureShort:
64+
event: TestingReport
65+
enabled: true
66+
to_user: false
67+
reply_subject: true
68+
set_reply_to: true
69+
in_reply_to: true
70+
reply_to_all: true
71+
subject_template: Testing failed
72+
to: ''
73+
cc: ''
74+
body_template: |
75+
{% if passed or not obj.message_id or is_timeout %}
76+
{{ cancel }}
77+
{% endif %}
78+
{% if 'No space left on device' in log %}
79+
{{ cancel }}
80+
{% endif %}
81+
Patchew URL: https://patchew.org/QEMU/{{ obj.message_id }}/
82+
83+
{% ansi2text log as logtext %}
84+
{% if test == "checkpatch" %}
85+
Hi,
86+
87+
This series seems to have some coding style problems. See output below for
88+
more information:
89+
90+
{{ logtext }}
91+
{% elif test == "docker-mingw@fedora" or test == "docker-quick@centos7" or test == "asan" %}
92+
Hi,
93+
94+
This series failed the {{ test }} build test. Please find the testing commands and
95+
their output below. If you have Docker installed, you can probably reproduce it
96+
locally.
97+
98+
{% lines_between logtext start="^=== TEST SCRIPT BEGIN ===$" stop="^=== TEST SCRIPT END ===$" %}
99+
{% lines_between logtext start="^=== OUTPUT BEGIN ===$" stop="=== OUTPUT END ===$" as output %}
100+
{% grep_C output regex="\b(FAIL|XPASS|ERROR|WARN|error:|warning:)" n=3 %}
101+
{% elif test == "s390x" or test == "FreeBSD" or test == "ppcle" or test == "ppcbe" %}
102+
Hi,
103+
104+
This series failed build test on {{test}} host. Please find the details below.
105+
106+
{% lines_between logtext start="^=== TEST SCRIPT BEGIN ===$" stop="^=== TEST SCRIPT END ===$" %}
107+
{% lines_between logtext start="^=== OUTPUT BEGIN ===$" stop="=== OUTPUT END ===$" as output %}
108+
{% grep_C output regex="\b(FAIL|XPASS|ERROR|WARN|error:|warning:)" n=3 %}
109+
{% else %}
110+
{{ cancel }}
111+
{% endif %}
112+
113+
The full log is available at
114+
{{ log_url }}.
115+
---
116+
Email generated automatically by Patchew [https://patchew.org/].
117+
Please send your feedback to patchew-devel@redhat.com
118+
testing:
119+
tests:
120+
asan:
121+
enabled: true
122+
requirements: docker
123+
timeout: 3600
124+
script: |
125+
#!/bin/bash
126+
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
127+
docker-quick@centos7:
128+
enabled: false
129+
requirements: docker,x86_64
130+
timeout: 3600
131+
script: |
132+
#!/bin/bash
133+
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
134+
checkpatch:
135+
enabled: true
136+
requirements: ''
137+
timeout: 600
138+
script: |
139+
#!/bin/bash
140+
git rev-parse base > /dev/null || exit 0
141+
git config --local diff.renamelimit 0
142+
git config --local diff.renames True
143+
git config --local diff.algorithm histogram
144+
./scripts/checkpatch.pl --mailback base..
145+
docker-mingw@fedora:
146+
enabled: true
147+
requirements: docker,x86_64
148+
timeout: 3600
149+
script: |
150+
#! /bin/bash
151+
test "$(uname -m)" = "x86_64"
152+
ppcle:
153+
enabled: false
154+
requirements: ppcle
155+
timeout: 3600
156+
script: |
157+
#!/bin/bash
158+
# Testing script will be invoked under the git checkout with
159+
# HEAD pointing to a commit that has the patches applied on top of "base"
160+
# branch
161+
set -e
162+
CC=$HOME/bin/cc
163+
INSTALL=$PWD/install
164+
BUILD=$PWD/build
165+
mkdir -p $BUILD $INSTALL
166+
SRC=$PWD
167+
cd $BUILD
168+
$SRC/configure --cc=$CC --prefix=$INSTALL
169+
make -j4
170+
# XXX: we need reliable clean up
171+
# make check -j4 V=1
172+
make install
173+
174+
echo
175+
echo "=== ENV ==="
176+
env
177+
178+
echo
179+
echo "=== PACKAGES ==="
180+
rpm -qa
181+
ppcbe:
182+
enabled: false
183+
requirements: ppcbe
184+
timeout: 3600
185+
script: |
186+
#!/bin/bash
187+
# Testing script will be invoked under the git checkout with
188+
# HEAD pointing to a commit that has the patches applied on top of "base"
189+
# branch
190+
set -e
191+
CC=$HOME/bin/cc
192+
INSTALL=$PWD/install
193+
BUILD=$PWD/build
194+
mkdir -p $BUILD $INSTALL
195+
SRC=$PWD
196+
cd $BUILD
197+
$SRC/configure --cc=$CC --prefix=$INSTALL
198+
make -j4
199+
# XXX: we need reliable clean up
200+
# make check -j4 V=1
201+
make install
202+
203+
echo
204+
echo "=== ENV ==="
205+
env
206+
207+
echo
208+
echo "=== PACKAGES ==="
209+
rpm -qa
210+
FreeBSD:
211+
enabled: true
212+
requirements: qemu-x86,x86_64,git
213+
timeout: 3600
214+
script: |
215+
#!/bin/bash
216+
# Testing script will be invoked under the git checkout with
217+
# HEAD pointing to a commit that has the patches applied on top of "base"
218+
# branch
219+
if qemu-system-x86_64 --help >/dev/null 2>&1; then
220+
QEMU=qemu-system-x86_64
221+
elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
222+
QEMU=/usr/libexec/qemu-kvm
223+
else
224+
exit 1
225+
fi
226+
make vm-build-freebsd J=21 QEMU=$QEMU
227+
exit 0
228+
docker-clang@ubuntu:
229+
enabled: true
230+
requirements: docker,x86_64
231+
timeout: 3600
232+
script: |
233+
#!/bin/bash
234+
time make docker-test-clang@ubuntu SHOW_ENV=1 J=14 NETWORK=1
235+
s390x:
236+
enabled: true
237+
requirements: s390x
238+
timeout: 3600
239+
script: |
240+
#!/bin/bash
241+
# Testing script will be invoked under the git checkout with
242+
# HEAD pointing to a commit that has the patches applied on top of "base"
243+
# branch
244+
set -e
245+
CC=$HOME/bin/cc
246+
INSTALL=$PWD/install
247+
BUILD=$PWD/build
248+
mkdir -p $BUILD $INSTALL
249+
SRC=$PWD
250+
cd $BUILD
251+
$SRC/configure --cc=$CC --prefix=$INSTALL
252+
make -j4
253+
# XXX: we need reliable clean up
254+
# make check -j4 V=1
255+
make install
256+
257+
echo
258+
echo "=== ENV ==="
259+
env
260+
261+
echo
262+
echo "=== PACKAGES ==="
263+
rpm -qa
264+
requirements:
265+
x86_64:
266+
script: |
267+
#! /bin/bash
268+
test "$(uname -m)" = "x86_64"
269+
qemu-x86:
270+
script: |
271+
#!/bin/bash
272+
if qemu-system-x86_64 --help >/dev/null 2>&1; then
273+
:
274+
elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
275+
:
276+
else
277+
exit 1
278+
fi
279+
ppcle:
280+
script: |
281+
#!/bin/bash
282+
test "$(uname -m)" = "ppc64le"
283+
ppcbe:
284+
script: |
285+
#!/bin/bash
286+
test "$(uname -m)" = "ppc64"
287+
git:
288+
script: |
289+
#! /bin/bash
290+
git config user.name > /dev/null 2>&1
291+
docker:
292+
script: |
293+
#!/bin/bash
294+
docker ps || sudo -n docker ps
295+
s390x:
296+
script: |
297+
#!/bin/bash
298+
test "$(uname -m)" = "s390x"
299+
git:
300+
push_to: git@github.com:patchew-project/qemu
301+
public_repo: https://github.com/patchew-project/qemu
302+
url_template: https://github.com/patchew-project/qemu/tree/%t

0 commit comments

Comments
 (0)
Please sign in to comment.