Hi,

I have some experience with CI and am willing to help out, I'll talk to you
on IRC.

Mathy

On Dec 7, 2016 19:57, "Michał Górny" <mgo...@gentoo.org> wrote:

> Hello, everyone.
>
> TL;DR: I'm looking for some help to get pull-request CI running
> distributed, i.e. on multiple hosts.
>
>
> Quick history
> -------------
>
> The repo-mirror-ci project pretty much started as a simple cronjob
> running on hardware contributed to the purpose by Todd Goodman
> (considering how much this hardware has done for Gentoo, I'd suggest
> giving him a honorary citizenship of Gentoo or something like
> that ;-)). I can't say they were terrible but they weren't perfect
> either. Due to lack of time, I mostly focused on improving them
> moderately and adding new features.
>
> Today, everything is still running on the same hardware. While
> the hardware is real good, and I'm doing some effort to improve
> the performance of the tools, I think it's quite close to its limits.
>
> Right now, it is running three tasks every 20 minutes: updating repo
> mirrors, running pkgcheck on Gentoo and processing one pull request.
> However, if those tasks delay beyond those 20 minutes, the poor man's
> scheduling based on cron + lockfiles may cause some of the executions
> to be skipped.
>
> In other words, the best case is processing 3 pull requests / h. This
> is starting to be no longer sufficient, and causing significant delays
> during periods of high contributor activity -- while my goal would be to
> provide the results ASAP -- 10-20 minutes would be perfect.
>
>
> The goal and needs
> ------------------
>
> I think the best way forward would be to start distributing tasks
> between more systems. While I don't really have time to make whole
> repo-mirror-ci distributed, I think it should be feasible to start
> splitting pull request processing out of it.
>
> I would use some help to achieve that, esp. wrt distributed task
> scheduling.
>
> Can you think of any tools that could help me get the task done easily
> and with as little of reinventing the wheel as possible? Right now, I
> have just a lot of trivial shell script that checks pull request for
> changes, checks them out, runs 'pmaint regen', pkgcheck, publishes all
> kinds of results and statuses, and also compares QA results to
> determine new failures created by the PR [1].
>
> As I see it, checking for changes and submitting the results should
> stay on the current host. However, it should be able to run all
> the actual work on slaves and retrieve the results from them. I would
> appreciate all the help with implementing that, plus possibly some
> degree of control to make it possible to update pkgcheck on slaves
> easily.
>
> Please let me know if you're interested in helping. Thanks.
>
> [1]:https://bitbucket.org/mgorny/repo-mirror-ci/src/
> master/pull-requests.job
>
> --
> Best regards,
> Michał Górny
>

Reply via email to