[llvm-dev] RFC: Using GitHub Actions for CI testing on the release/* branches

Christian Kühnel via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 13 07:53:07 PST 2019


I suppose we should discuss the use case first and then find the right tool
for the purpose.

Why not re-use the build bots?
What do you want to build and test? Only the release branch?
Is this in addition to the build bots and pre-merge testing?
On which platforms?
How often/when to trigger a build?

--
Christian


On Fri, Dec 13, 2019 at 2:38 PM Valentin Churavy <v.churavy at gmail.com>
wrote:

> I think my concern is that LLVM could prove to be too big and require too
>> many resources for github's infrastructure. How many patches go into LLVM a
>> day, and how many build and test jobs does GitHub allow users to run
>> concurrently before being throttled?
>>
>
> A big project like LLVM, should almost never rely on the free tier of a CI
> service. I am neither for nor against Github actions (I personally use them
> for my project and they work out well, but the caching story needs more
> work), but Github actions at least allows for self hosted runners that
> allows us to move the load away from their infrastructure to ours.
>
>
> https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#about-self-hosted-runners
>
>
> On Thu, Dec 12, 2019 at 1:53 PM Reid Kleckner via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I think everyone agrees that LLVM needs better CI, automatic pre-commit
>> testing of various platforms, etc. This is not rocket science, it is
>> standard practice for 2019 software engineering.
>>
>> I think my concern is that LLVM could prove to be too big and require too
>> many resources for github's infrastructure. How many patches go into LLVM a
>> day, and how many build and test jobs does GitHub allow users to run
>> concurrently before being throttled?
>>
>> You may have seen that Christian Kuhnel has been working on a pre-commit
>> testing bot that integrates with Phab:
>> https://reviews.llvm.org/p/merge_guards_bot/
>>
>> https://github.com/google/llvm-premerge-checks/blob/master/docs/user_doc.md
>> I hope that ends up being the way forward and suits Tom's original
>> release testing goals.
>>
>> On Wed, Dec 11, 2019 at 11:43 PM John Byrd via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>> Please forgive the incorrect threading on this reply to Tom
>>> Stellard's RFC.
>>>
>>> > I would like to start using GitHub Actions[1] for CI testing on the
>>> release/*
>>> > branches.  As far as I know we don't have any buildbots listening to
>>> the
>>> > release branches, and I think GitHub Actions are a good way for us to
>>> > quickly bring-up some CI jobs there.
>>>
>>> Personally, I feel that Tom's proof of concept, is more important than
>>> we seem to be giving him credit for.
>>>
>>> As of this writing, the Github actions system permits all comers, six
>>> hours of CPU time per build platform.  Due to this long CPU allotment,
>>> AFAIK, Github is one of the few CIs in town that lets anyone build and
>>> smoke llvm for free.
>>>
>>> Consider the workflow of someone who has never worked on llvm before.
>>> They will probably fork the monorepo on Github, in order to fix bugs or add
>>> a feature or such.  At the moment they do this, they get a built-in
>>> workflow that will sanity-check their builds on several important targets.
>>> Zero braining involved.
>>>
>>> Giving Joe Programmer a CI system that magically smoke tests llvm, out
>>> of the box, after he forks the repo, is a compelling reason to make
>>> something like Tom's system a standard part of llvm master.
>>>
>>> Concerns might be raised that llvm is "preferring" one CI system over
>>> another.  Some thoughts about that.  First, because the monorepo's on
>>> Github, you'll end up going to github.com anyway to get your first
>>> pull.  Second, nothing about Github actions precludes supporting other CI
>>> systems in the future.
>>>
>>> Thanks for your kind consideration.
>>>
>>> --
>>> ---
>>>
>>> John Byrd
>>> Gigantic Software
>>> 2321 E 4th Street
>>> Suite C #429
>>> Santa Ana, CA  92705-3862
>>> http://www.giganticsoftware.com
>>> T: (949) 892-3526 F: (206) 309-0850
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>

-- 
Best,
Christian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191213/6501ce07/attachment.html>


More information about the llvm-dev mailing list