[Patchew-devel] [RFC] Replacing tester with gitlab CI

Paolo Bonzini pbonzini at redhat.com
Thu Oct 1 11:27:13 UTC 2020


On 01/10/20 13:02, Fam Zheng wrote:
> Here is an idea about how we can drop some code and simplify things.
> 
> Back when patchew tester was initially designed, there wasn't something
> as flexible as needed. Today, gitlab-ci has everything we want, so if
> the applier pushes tags to a gitlab repo, all the testing stuff can
> happen there.

Except one thing that we could keep on Patchew testers: gitlab-ci
doesn't have KVM (though we could use Travis or custom runners) which
QEMU needs in order to test FreeBSD.  But yeah I totally agree that
Gitlab or GitHub is a much better alternative to our custom testers.

Time for Patchew 3.0? :)

> Using gitlab-ci, we can change steps 3-6 to:
> 
> 3. The applier download mbox and applies as usual.
> 
> 4. The applier injects with `include:remote` a {.post: when:always}
> stage into .gitlab-ci.yml.
> 
> 5. The branch, with the modified .gitlab-ci.yml, is tagged and pushed
> to (for example)
> 
>     https://gitlab.com/patchew/ci-hub
> 
> 6. Gitlab CI kicks in and runs the tests.
> 
> 7. In the end, if any tests defined in the project's original .gitlab-
> ci.yml failed, the injected .post stage can report to patchew server
> with existing API, from there we can send notifications etc.

This could alternatively (and possibly more easily) be a Job webhook on
gitlab.com/patchew/ci-hub.

Paolo

> Benefits:
> 
> * Secrets and credentials can be managed securely with gitlab-ci env
> var.
> 
> * We let projects to define the tests, no more manual testing config at
> patchew server side.
> 
> * Less code for patchew.
> 
> * Gitlab provides free runner quota, and even managing gitlab-runners
> by ourselves is better than managing patchew testers ourselves because
> it's standard.
> 
> * Many things about gitlab CI UI are much better than patchew.org, so
> it's a great bonus - we can include a link to gitlab.com in the email
> report. Hopefully that is more familiar to people.
> 
> * This model is more scalable and hopefully easier to adopt by other
> projects, such as Xen and perhaps Linux too.
> 
> 
> Last but not least, we will need to PoC the injected .post stage.
> 
> Fam
> 




More information about the Patchew-devel mailing list