All of lore.kernel.org
 help / color / mirror / Atom feed
* automation: Creating a patchwork instance to improve pre-commit build testing
@ 2018-07-23 16:40 Lars Kurth
  2018-07-24  9:06 ` Jan Beulich
  0 siblings, 1 reply; 32+ messages in thread
From: Lars Kurth @ 2018-07-23 16:40 UTC (permalink / raw)
  To: xen-devel
  Cc: Iurii Artemenko, Wei Liu, Doug Goldstein,
	minios-devel@lists.xenproject.org, Committers, Matt Spencer

Hi all,

Wei and Doug have recently been improving [xen.git] / automation / build, implementing some of the functionality outlined in [1] (see "CI / CD" heading). 

We are intending to take every patch series that is sent to xen-devel and create a branch at https://gitlab.com/xen-project/xen.git scoped to something like "ml/<msg-id>". ml stands for mailing list. The goal is to run whatever basic CI tests we can to help reviewers and contributors. Wei and Doug have gotten things to the point where we can compile against a number of distros and they continue to expand that functionality. 

What is missing, is the capability to take patch series from the mailing list and use the posted patches to trigger the CI/CD functionality. We are planning to use Patchwork because it provides functionality to allow us to do this via the Patchwork API (https://patchwork.readthedocs.io/en/latest/api/rest/) Originally Doug suggested he could just try this via one of his own VMs, but the recent introduction of the GDPR creates risks and obligations for everyone (both individuals and companies) who processes Xen Project related mailing list data (including git meta-data). To avoid this, we were planning to run patchwork on a new Xen Project hosted VM, for the sole purpose of using the Patchwork API. 

At this stage, we are not intending to expose the patchwork UI.

# How does this impact me?
The contribution workflow is *not* impacted by this change, but once up and running the following will happen once you post a patch or patch series to xen-devel:
* Patchwork will take patch series from the mailing list and applies it
* CI/DC testing is triggered
* A test report will be sent as a mail to the patch or the series (aka the 00 patch of the series)

This does mean though that series which do not build or show other issues, will likely not be reviewed until the tests pass. This would lessen the burden on reviewers, as they will know whether the code submitted builds on a wide array of environments. 

# Supported build environments (for now)
For now, we are only supporting this on x86. The exact list of distros we build against can be found in [xen.git] / automation / build 
Arm support will be added later, once the missing pieces are in place (see [1] section "What OSs (architectures) should we support?") 

# What about checkpatch.pl?
Once clang-format changes have been completed, Wei and Doug are going to look at automating code style checks as well. Iurii Artemenko is working on clang-format improvements that will allow us to work around the issues outlined in [2]. There are still 3 missing pieces (see [3]). 

I don't think this is a controversial proposal, but I wanted to ask whether there are any objections or suggestions. I included the minios-devel list, as the Unikraft project is planning to introduce patchwork into their workflow.

Best Regards
Lars


# References
[1] https://lists.xenproject.org/archives/html/xen-devel/2018-07/msg00126.html 

[2] https://xen.markmail.org/thread/pc2dhjgbgrdcz5sb
[3] Coding style patterns used in Xen that we cannot yet support

Braces should be omitted for blocks with a single statement. e.g.,
 if ( condition )
     single_statement();
 
Comments
--------
 
 Only C style /* ... */ comments are to be used.  C++ style // comments
 should not be used.  Multi-word comments should begin with a capital
 letter.  Comments containing a single sentence may end with a full
 stop; comments containing several sentences must have a full stop
 after each sentence.
 
 Multi-line comment blocks should start and end with comment markers on
 separate lines and each line should begin with a leading '*'.
 
 /*
  * Example, multi-line comment block.
  *
  * Note beginning and end markers on separate lines and leading '*'.
  */
 
Emacs local variables
---------------------
A comment block containing local variables for emacs is permitted at
the end of files.  It should be:
 
 /*
  * Local variables:
  * mode: C
  * c-file-style: "BSD"
  * c-basic-offset: 4
  * indent-tabs-mode: nil
  * End:
  */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2018-07-24 17:22 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-23 16:40 automation: Creating a patchwork instance to improve pre-commit build testing Lars Kurth
2018-07-24  9:06 ` Jan Beulich
2018-07-24  9:14   ` Andrew Cooper
2018-07-24  9:31     ` Jan Beulich
2018-07-24  9:24   ` Wei Liu
2018-07-24  9:34     ` Jan Beulich
2018-07-24  9:43       ` Wei Liu
2018-07-24 10:04         ` Jan Beulich
2018-07-24 10:18           ` Wei Liu
2018-07-24 10:33             ` Lars Kurth
2018-07-24 10:50               ` Julien Grall
2018-07-24 11:23                 ` Lars Kurth
2018-07-24 14:26                   ` Anthony PERARD
2018-07-24 15:26                   ` George Dunlap
2018-07-24 15:32                     ` George Dunlap
2018-07-24 17:22                     ` Dario Faggioli
2018-07-24 15:16           ` Doug Goldstein
2018-07-24 10:09       ` Lars Kurth
2018-07-24 14:32       ` George Dunlap
2018-07-24 15:08         ` Doug Goldstein
2018-07-24  9:38     ` [Minios-devel] " Lars Kurth
2018-07-24  9:46       ` Wei Liu
2018-07-24  9:57         ` Lars Kurth
2018-07-24 13:10           ` Andrew Cooper
2018-07-24  9:26   ` Lars Kurth
2018-07-24 11:48     ` [Minios-devel] " Yuri Volchkov
2018-07-24 12:00       ` Jan Beulich
2018-07-24 12:45         ` Lars Kurth
2018-07-24 14:01           ` George Dunlap
2018-07-24 15:44             ` Jan Beulich
2018-07-24 15:51               ` George Dunlap
2018-07-24 14:05           ` Julien Grall

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.