From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"QEMU Developers" <qemu-devel@nongnu.org>,
"Vincenzo Maffione" <v.maffione@gmail.com>,
"Giuseppe Lettieri" <giuseppe.lettieri@unipi.it>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Giuseppe Lettieri" <g.lettieri@iet.unipi.it>,
"Luigi Rizzo" <rizzo@iet.unipi.it>
Subject: Re: [PATCH] netmap: support git-submodule build otption
Date: Tue, 08 Oct 2019 13:57:07 +0200 [thread overview]
Message-ID: <875zkzlab0.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20191008091715.GC1192@redhat.com> ("Daniel P. Berrangé"'s message of "Tue, 8 Oct 2019 10:17:15 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Mon, Oct 07, 2019 at 01:39:30PM +0100, Peter Maydell wrote:
>> On Mon, 7 Oct 2019 at 13:36, Markus Armbruster <armbru@redhat.com> wrote:
>> > If CI of QEMU code isn't useful, then I suspect the QEMU code isn't
>> > useful, period. Giuseppe assures us the netmap QEMU code *is* useful.
>> > It followe we better make sure our CI covers it.
>>
>> It would be an interesting idea to have a requirement that
>> any new library dependency can't be introduced into QEMU
>> unless one of the systems we do builds on can be set up
>> so the new code is compiled...
>
> Being able to at least compile code successfully is a pretty low bar
> to cross in terms of CI, so I think that's reasonable in general.
>
> I would not stop in terms of libraries though. We should document our
> broader expectations for CI
>
> Compilation
>
> - All new code must be compiled in one of[1] our CI systems.
I think we should hold old code to the same standard. Anything that's
not compiled now either gets fixed or deprecated. If it's still unfixed
at the end of the deprecation grace period, it goes.
> This implies
>
> - Libraries must be available in some OS we compile for
How do we track compliance? It's not obvious to (ignorant) me what
features exactly each CI compile enables. Without that, it's not
obvious whether any CI run enables use of a certain library.
> - New host architectures must have cross compilers available
Native tool chain in CI also satisfies "must be compiled in CI".
> - New OS distro targets must have VM test image support
Non-virtual host in CI also satisfies "must be compiled in CI".
> This is not far off what we unofficially expect already, so
> it shouldn't be too distruptive if we formally adopt it as a
> mandatory rule.
Feels like a no-brainer, to be honest.
> Testing
>
> - All significant new features should have either unit or
> functional or integration test coverage
>
> ... something something something ...
Spot the weasel words! ;-P
> We've not really set any expectations around CI beyond compile
> testing thus far. We've got a mix of unit testing & functional
> testing in the tests/ dir. We're increasingly getting stuff
> added there when major features are added. Making this mandatory
> is probably too large a step, but it is likely helpful if we
> at least set some recommendations / guidelines to push people
> in the direction we want to go longer term.
We've been pushing, but not evenly. It's basically up to maintainers,
and their expectations on testing vary.
> Regards,
> Daniel
>
> [1] Having to say "one of" is not especially great. It would be very nice
> to get to the point where we have either container images or VM images
> and no matter what CI harness(es) we use, they always run with either
> a container or VM image[2]. Even if we have bare metal machines available
> we can still execute actual builds inside containers or VM images so
> everyone uses a consistent environment for everything related to CI.
>
> [2] macOS is a problem/exception here given that we can't legally distribute
> VM images, nor can we provide a cross compiler toolchain. For everything
> else we can make VM/container images though.
That makes Macs a secondary host at best. If it breaks, it breaks. If
somebody fixes it, nice, if not, *shrug*. Don't expect git-bisect to
work.
next prev parent reply other threads:[~2019-10-08 12:05 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-06 15:14 [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 01/29] include: Make headers more self-contained Markus Armbruster
2019-08-07 15:03 ` Alex Bennée
2019-08-07 19:45 ` Markus Armbruster
2019-08-07 21:28 ` Alex Bennée
2019-08-08 4:21 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 02/29] Include generated QAPI headers less Markus Armbruster
2019-08-06 21:50 ` Eric Blake
2019-08-07 9:53 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 03/29] qapi: Split error.json off common.json Markus Armbruster
2019-08-07 9:57 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 04/29] memory: Fix type of IOMMUMemoryRegionClass member @parent_class Markus Armbruster
2019-08-07 10:11 ` Philippe Mathieu-Daudé
2019-08-07 10:16 ` Paolo Bonzini
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 05/29] queue: Drop superfluous #include qemu/atomic.h Markus Armbruster
2019-08-07 10:21 ` Philippe Mathieu-Daudé
2019-08-07 15:40 ` Alex Bennée
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 06/29] trace: Eliminate use of TARGET_FMT_plx Markus Armbruster
2019-08-07 9:29 ` Stefan Hajnoczi
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into generated trace.h Markus Armbruster
2019-08-07 9:32 ` Stefan Hajnoczi
2019-08-07 10:30 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 08/29] Include sysemu/reset.h a lot less Markus Armbruster
2019-08-07 10:38 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 09/29] Include migration/qemu-file-types.h " Markus Armbruster
2019-08-07 12:25 ` Philippe Mathieu-Daudé
2019-08-07 17:30 ` Philippe Mathieu-Daudé
2019-08-07 19:46 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 10/29] ide: Include hw/ide/internal a bit less outside hw/ide/ Markus Armbruster
2019-08-06 21:40 ` John Snow
2019-08-07 12:29 ` Philippe Mathieu-Daudé
2019-08-07 14:56 ` John Snow
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 11/29] typedefs: Separate incomplete types and function types Markus Armbruster
2019-08-07 12:31 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 12/29] Include hw/irq.h a lot less Markus Armbruster
2019-08-07 13:04 ` Philippe Mathieu-Daudé
2019-08-07 21:06 ` Eric Blake
2019-08-08 4:27 ` Markus Armbruster
2019-08-08 5:09 ` Richard Henderson
2019-08-08 11:48 ` Eric Blake
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 13/29] Clean up inclusion of exec/cpu-common.h Markus Armbruster
2019-08-07 14:20 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 14/29] migration: Move the VMStateDescription typedef to typedefs.h Markus Armbruster
2019-08-07 15:22 ` Alex Bennée
2019-08-07 17:13 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 15/29] Include migration/vmstate.h less Markus Armbruster
2019-08-07 14:44 ` Philippe Mathieu-Daudé
2019-08-08 11:36 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 16/29] Include exec/memory.h slightly less Markus Armbruster
2019-08-07 14:50 ` Philippe Mathieu-Daudé
2019-08-08 12:16 ` Markus Armbruster
2019-08-08 12:36 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 17/29] Include qom/object.h " Markus Armbruster
2019-08-07 17:11 ` Philippe Mathieu-Daudé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 18/29] Include hw/hw.h exactly where needed Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 19/29] Include qemu/queue.h slightly less Markus Armbruster
2019-08-07 15:57 ` Alex Bennée
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 20/29] Include qemu/main-loop.h less Markus Armbruster
2019-08-07 13:18 ` Philippe Mathieu-Daudé
2019-08-07 13:49 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 21/29] Include hw/qdev-properties.h less Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 22/29] Include hw/boards.h a bit less Markus Armbruster
2019-08-06 21:37 ` Alistair Francis
2019-08-07 17:26 ` Philippe Mathieu-Daudé
2019-08-07 17:57 ` Eduardo Habkost
2019-08-07 18:05 ` Philippe Mathieu-Daudé
2019-08-07 18:19 ` Eduardo Habkost
2019-08-08 11:57 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 23/29] numa: Don't include hw/boards.h into sysemu/numa.h Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 24/29] Include sysemu/hostmem.h less Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 26/29] Clean up inclusion of sysemu/sysemu.h Markus Armbruster
2019-08-06 21:36 ` Alistair Francis
2019-08-07 15:47 ` Alex Bennée
2019-08-07 20:10 ` Markus Armbruster
2019-08-08 14:21 ` Alex Bennée
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 27/29] Include sysemu/sysemu.h a lot less Markus Armbruster
2019-08-06 21:38 ` Alistair Francis
2019-08-07 9:28 ` Stefan Hajnoczi
2019-08-07 13:24 ` Philippe Mathieu-Daudé
2019-08-07 13:51 ` Markus Armbruster
2019-08-07 17:31 ` Philippe Mathieu-Daudé
2019-08-07 20:16 ` Markus Armbruster
2019-08-07 21:05 ` Philippe Mathieu-Daudé
2019-08-08 4:48 ` [Qemu-devel] Is network backend netmap worth keeping? (was: [PATCH v2 27/29] Include sysemu/sysemu.h a lot less) Markus Armbruster
2019-08-08 5:38 ` [Qemu-devel] Is network backend netmap worth keeping? Jason Wang
2019-08-08 13:36 ` Philippe Mathieu-Daudé
2019-08-08 17:27 ` Vincenzo Maffione
2019-08-08 7:27 ` Giuseppe Lettieri
2019-08-08 11:52 ` Markus Armbruster
2019-08-12 12:32 ` Philippe Mathieu-Daudé
2019-08-12 12:34 ` Philippe Mathieu-Daudé
2019-09-02 20:50 ` Giuseppe Lettieri
2019-09-13 13:04 ` Markus Armbruster
2019-09-16 14:45 ` Giuseppe Lettieri
2019-09-23 11:21 ` Markus Armbruster
2019-10-04 13:02 ` [PATCH] netmap: support git-submodule build otption Giuseppe Lettieri
2019-10-04 13:08 ` Peter Maydell
2019-10-07 10:49 ` Markus Armbruster
2019-10-07 11:58 ` Peter Maydell
2019-10-07 12:35 ` Markus Armbruster
2019-10-07 12:39 ` Peter Maydell
2019-10-08 9:17 ` Daniel P. Berrangé
2019-10-08 11:57 ` Markus Armbruster [this message]
2019-10-07 15:37 ` Thomas Huth
2019-10-07 17:53 ` Markus Armbruster
2019-10-07 15:44 ` Markus Armbruster
2019-08-08 8:12 ` [Qemu-devel] Is network backend netmap worth keeping? (was: [PATCH v2 27/29] Include sysemu/sysemu.h a lot less) Stefano Garzarella
2019-10-07 18:21 ` Is network backend vde worth keeping? (was: Is network backend netmap worth keeping?) Markus Armbruster
2019-10-09 9:13 ` Thomas Huth
2019-10-11 6:55 ` Thomas Huth
2019-10-10 17:07 ` Julia Suvorova
2019-10-10 17:39 ` Daniel P. Berrangé
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h Markus Armbruster
2019-08-07 15:26 ` Alex Bennée
2019-08-07 20:19 ` Markus Armbruster
2019-08-06 15:14 ` [Qemu-devel] [PATCH v2 29/29] sysemu: Split sysemu/runstate.h off sysemu/sysemu.h Markus Armbruster
2019-08-07 4:40 ` Markus Armbruster
2019-08-07 10:15 ` Paolo Bonzini
2019-08-06 16:02 ` [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers no-reply
2019-08-06 16:56 ` no-reply
2019-08-07 16:32 ` Alex Bennée
2019-08-07 20:21 ` Markus Armbruster
2019-08-08 13:21 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875zkzlab0.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=g.lettieri@iet.unipi.it \
--cc=giuseppe.lettieri@unipi.it \
--cc=jasowang@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rizzo@iet.unipi.it \
--cc=stefanha@redhat.com \
--cc=v.maffione@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.