qapi: allow unions to contain further unions
[qemu/armbru.git] / .patchew.yml
blob1b78262ce58dcd1f660bb68dd394b9e3072206a8
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.
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:
10 #     import json
11 #     import sys
12 #     import ruamel.yaml
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)
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 %}
37         Test '{{ test }}' timeout, log:
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 %}
56         {% if 'No space left on device' in log %}
57         Tester {{ tester }} out of space when running {{ test }}
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 }}/
83         {% ansi2text log as logtext %}
84         {% if test == "checkpatch" %}
85         Hi,
87         This series seems to have some coding style problems. See output below for
88         more information:
90         {{ logtext }}
91         {% elif test == "docker-mingw@fedora" or test == "docker-quick@centos8" or test == "asan" %}
92         Hi,
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.
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,
104         This series failed build test on {{test}} host. Please find the details below.
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 %}
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@centos8:
128       enabled: false
129       requirements: docker,x86_64
130       timeout: 3600
131       script: |
132         #!/bin/bash
133         time make docker-test-quick@centos8 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         ./scripts/checkpatch.pl --mailback base..
142     docker-mingw@fedora:
143       enabled: true
144       requirements: docker,x86_64
145       timeout: 3600
146       script: |
147         #! /bin/bash
148         test "$(uname -m)" = "x86_64"
149     ppcle:
150       enabled: false
151       requirements: ppcle
152       timeout: 3600
153       script: |
154         #!/bin/bash
155         # Testing script will be invoked under the git checkout with
156         # HEAD pointing to a commit that has the patches applied on top of "base"
157         # branch
158         set -e
159         CC=$HOME/bin/cc
160         INSTALL=$PWD/install
161         BUILD=$PWD/build
162         mkdir -p $BUILD $INSTALL
163         SRC=$PWD
164         cd $BUILD
165         $SRC/configure --cc=$CC --prefix=$INSTALL
166         make -j4
167         # XXX: we need reliable clean up
168         # make check -j4 V=1
169         make install
171         echo
172         echo "=== ENV ==="
173         env
175         echo
176         echo "=== PACKAGES ==="
177         rpm -qa
178     ppcbe:
179       enabled: false
180       requirements: ppcbe
181       timeout: 3600
182       script: |
183         #!/bin/bash
184         # Testing script will be invoked under the git checkout with
185         # HEAD pointing to a commit that has the patches applied on top of "base"
186         # branch
187         set -e
188         CC=$HOME/bin/cc
189         INSTALL=$PWD/install
190         BUILD=$PWD/build
191         mkdir -p $BUILD $INSTALL
192         SRC=$PWD
193         cd $BUILD
194         $SRC/configure --cc=$CC --prefix=$INSTALL
195         make -j4
196         # XXX: we need reliable clean up
197         # make check -j4 V=1
198         make install
200         echo
201         echo "=== ENV ==="
202         env
204         echo
205         echo "=== PACKAGES ==="
206         rpm -qa
207     FreeBSD:
208       enabled: true
209       requirements: qemu-x86,x86_64,git
210       timeout: 3600
211       script: |
212         #!/bin/bash
213         # Testing script will be invoked under the git checkout with
214         # HEAD pointing to a commit that has the patches applied on top of "base"
215         # branch
216         if qemu-system-x86_64 --help >/dev/null 2>&1; then
217           QEMU=qemu-system-x86_64
218         elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
219           QEMU=/usr/libexec/qemu-kvm
220         else
221           exit 1
222         fi
223         make vm-build-freebsd J=21 QEMU=$QEMU
224         exit 0
225     docker-clang@ubuntu:
226       enabled: true
227       requirements: docker,x86_64
228       timeout: 3600
229       script: |
230         #!/bin/bash
231         time make docker-test-clang@ubuntu SHOW_ENV=1 J=14 NETWORK=1
232     s390x:
233       enabled: true
234       requirements: s390x
235       timeout: 3600
236       script: |
237         #!/bin/bash
238         # Testing script will be invoked under the git checkout with
239         # HEAD pointing to a commit that has the patches applied on top of "base"
240         # branch
241         set -e
242         CC=$HOME/bin/cc
243         INSTALL=$PWD/install
244         BUILD=$PWD/build
245         mkdir -p $BUILD $INSTALL
246         SRC=$PWD
247         cd $BUILD
248         $SRC/configure --cc=$CC --prefix=$INSTALL
249         make -j4
250         # XXX: we need reliable clean up
251         # make check -j4 V=1
252         make install
254         echo
255         echo "=== ENV ==="
256         env
258         echo
259         echo "=== PACKAGES ==="
260         rpm -qa
261   requirements:
262     x86_64:
263       script: |
264         #! /bin/bash
265         test "$(uname -m)" = "x86_64"
266     qemu-x86:
267       script: |
268         #!/bin/bash
269         if qemu-system-x86_64 --help >/dev/null 2>&1; then
270           :
271         elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
272           :
273         else
274           exit 1
275         fi
276     ppcle:
277       script: |
278         #!/bin/bash
279         test "$(uname -m)" = "ppc64le"
280     ppcbe:
281       script: |
282         #!/bin/bash
283         test "$(uname -m)" = "ppc64"
284     git:
285       script: |
286         #! /bin/bash
287         git config user.name > /dev/null 2>&1
288     docker:
289       script: |
290         #!/bin/bash
291         docker ps || sudo -n docker ps
292     s390x:
293       script: |
294         #!/bin/bash
295         test "$(uname -m)" = "s390x"
296 git:
297   push_to: git@github.com:patchew-project/qemu
298   public_repo: https://github.com/patchew-project/qemu
299   url_template: https://github.com/patchew-project/qemu/tree/%t