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

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



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®.