[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen project CI systems and committer workflow



Cc Anthony as well. Forgot to do that. Sorry.

On Thu, Apr 18, 2019 at 01:31:59PM +0100, Wei Liu wrote:
> Hi all
> 
> We now have Gitlab CI as a complementary system to Osstest and have planned to
> add bots. It's high time we think about how we integrate them and how it may
> improve our workflow.
> 
> ## Requirements
> 
> 1. We want to have light weight build tests before a patch series is reviewed
> or committed.
> 
> 2. We don't want to push broken patches to central repository such that
> everyone is blocked.
> 
> 3. We don't want to significantly change committer workflow.
> 
> Requirement 2 means that our current branching model will need to be changed.
> Details will follow.
> 
> ## Overview of automation systems
> 
> - Gitlab CI
> 
>     It is capable of running build tests with relatively short turnaround 
> time.
> 
> - Bots like Patchew and Patchwork
> 
>     They are able to slurp patches from xen-devel and maybe run customised
>     scripts on those patches.
> 
> - Osstest
> 
>     Pushgate, integration test system. It runs more sophisticated tests
>     compared to Gitlab CI. Turnaround time is long.
>     
> ## New world
> 
> There will be an unified endpoint for committers and bots. Committers and bots
> will have their git trees. Patches are committed to those trees. An automated
> system will get patches from those trees and trigger CI runs.
> 
> The system will pick up commits from one of the trees, merge them with master
> and send the merge to CI systems.
> 
> For bots, only Gitlab CI build tests will run. Results are sent back to
> xen-devel.
> 
> For committers' trees, at first Gitlab CI build tests are run, if the result 
> is
> successful, the merge commit is submitted to osstest. If osstest deems the
> merge is good, the merge is pushed (published) to xen.git, otherwise the merge
> is discarded. Test results are sent back to xen-devel.
> 
> With this system, all published commits should have already passed Gitlab CI
> and osstest tests.
> 
> ## Gaps
> 
> The component / system which merges trees and drives CI systems is missing.
> 
> Patchew and Patchwork don't do all the things we care about yet.
> 
> ## Concerns
> 
> For individual committers, turnaround time may become longer since you need to
> wait for other trees to be processed.
> 
> Gitlab CI doesn't have a self pushgate. If it is broken by accident Osstest
> will be blocked.
> 
> 
> Thoughts and comments?
> 
> Wei.

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.