[LLVMdev] Contributing a buildbot for the BPF backend

Marco Leogrande marcol at plumgrid.com
Wed Jun 10 19:06:45 PDT 2015


Hi Galina,

thanks for the info!

I think we will go for the "LLVM+clang with cmake" approach, since the
BPF target has been marked non-experimental in the meantime, and we
are interested in building clang as well.
I will provide the info requested in step #10 separately and experiment a bit.

Thanks.


Regards,

Marco Leogrande
(mobile) +1(408)475-1341

Sent by a carbon-based life form; hence, it may contain repetitions,
inaccuracies, logical fallacies and repetitions.


On Wed, Jun 10, 2015 at 4:05 PM, Galina Kistanova <gkistanova at gmail.com> wrote:
> Hello Marco,
>
> Welcome aboard!
>
> slaves.py keeps the build slaves definitions, builders.py keeps the builders
> definitions. You have to have both.
> The steps of adding a new slave is here:
> http://llvm.org/docs/HowToAddABuilder.html. Please make sure you done the
> step # 10 before bringing your slave up, otherwise it wouldn't be authorized
> by the master and will be blacklisted after multiple failures.
>
> To make sure the slave is ready, you can start from manually building and
> testing everything you want the build to do on that slave in context of the
> account the build slave will be running in.
> If you succeed, then the slave is likely ready.
>
> You patch doesn't look right.
> getLLVMBuildFactory does not support cmake, so it wouldn't do what you think
> it will. For the same reason your slave properties (jobs and loadaverage)
> wouldn't work.
> See zorg/buildbot/builders/LLVMBuilder.py for more details.
>
> You either build LLVM with configure (this is what the existing LLVM factory
> does), add a new CMakeBuildFactory to support cmake, or build LLVM+clang
> with cmake by using a clang build factory.
>
> If you use any of the existing build factories, you do not really need a
> local master. You can add your builder and your slave to the lab.llvm.org
> master and move from there.
> As the first step you will be adding your builder as experimental anyway, so
> you will have a chance to work out possible issues and instabilities before
> promoting it to a stable one.
>
> You do need a local master to be able to debug and test if you develop zorg,
> i.e. write a new CMakeBuildFactory and such, though.
>
> Hope this helps.
>
> Thanks
>
> Galina
>
>
>
> On Mon, Jun 8, 2015 at 9:04 PM, Marco Leogrande <marcol at plumgrid.com> wrote:
>>
>> Hi all,
>> I was trying to make some progress on this front and I spent some more
>> time on it.
>>
>> * I think I managed to configure the buildslave correctly; any chance
>> there is a way to test that before the buildmaster is configured?
>>
>> * I was trying to figure out where/how to add the configuration in
>> zorg. slaves.py looks reasonably easy to configure, but builders.py
>> looks more convoluted. I think the attached patch is a start for the
>> build part, but of course I have no idea if it makes any sense :)
>> The idea would be to replicate the following workflow (build
>> experimental backend + tests):
>>
>> cmake -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=BPF ../path/to/src/
>> make -jX
>> ./bin/llvm-lit test/CodeGen/BPF/
>>
>>
>> Any suggestion would be appreciated.
>>
>> Thanks!
>>
>> Regards,
>>
>> Marco Leogrande
>>
>> Sent by a carbon-based life form; hence, it may contain repetitions,
>> inaccuracies, logical fallacies and repetitions.
>>
>>
>> On Thu, May 7, 2015 at 8:56 PM, Marco Leogrande <marcol at plumgrid.com>
>> wrote:
>> > Hi everyone,
>> > I am working with Alexei Starovoitov to contribute an LLVM buildbot
>> > for the experimental BPF backend.
>> > I am following the steps at [1] to setup a buildbot and I was mostly
>> > successful: I was able to setup a slave and a temporary master to
>> > check its base config.
>> >
>> > Now I'm not sure about the next step: patching the "slaves.py" and
>> > "builders.py" files in zorg.
>> >
>> > * Is there a guide I can follow to understand the format of these
>> > files? For example, being BPF an experimental backend, I need to
>> > provide extra parameters to cmake at build time.
>> >
>> > * Also, is there a way to test these changes in zorg in a local
>> > environment before submitting the patch for review?
>> >
>> > Thank you!
>> >
>> >
>> > [1] http://llvm.org/docs/HowToAddABuilder.html
>> >
>> > Regards,
>> >
>> > Marco Leogrande
>> >
>> > Sent by a carbon-based life form; hence, it may contain repetitions,
>> > inaccuracies, logical fallacies and repetitions.
>
>



More information about the llvm-dev mailing list