<div dir="ltr"><div><div><div>LGTM.<br></div>Please commit.<br><br></div>Thanks<br><br></div>Galina<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 16, 2015 at 8:32 PM, Marco Leogrande <span dir="ltr"><<a href="mailto:marcol@plumgrid.com" target="_blank">marcol@plumgrid.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Galina,<br>
thanks again for your help.<br>
<br>
I have cooked a new patch that should make a bit more sense.<br>
I have added the new builder under<br>
_get_experimental_scheduled_builders(), as the comment above that<br>
function suggested me it would be a good idea. :)<br>
Does it look a reasonable start?<br>
<span class="im HOEnZb"><br>
<br>
Regards,<br>
<br>
Marco Leogrande<br>
<br>
Sent by a carbon-based life form; hence, it may contain repetitions,<br>
inaccuracies, logical fallacies and repetitions.<br>
<br>
<br>
</span><span class="im HOEnZb">On Wed, Jun 10, 2015 at 7:06 PM, Marco Leogrande <<a href="mailto:marcol@plumgrid.com">marcol@plumgrid.com</a>> wrote:<br>
> Hi Galina,<br>
><br>
> thanks for the info!<br>
><br>
> I think we will go for the "LLVM+clang with cmake" approach, since the<br>
> BPF target has been marked non-experimental in the meantime, and we<br>
> are interested in building clang as well.<br>
> I will provide the info requested in step #10 separately and experiment a bit.<br>
><br>
> Thanks.<br>
><br>
><br>
> Regards,<br>
><br>
> Marco Leogrande<br>
><br>
</span><div class="HOEnZb"><div class="h5">> Sent by a carbon-based life form; hence, it may contain repetitions,<br>
> inaccuracies, logical fallacies and repetitions.<br>
><br>
><br>
> On Wed, Jun 10, 2015 at 4:05 PM, Galina Kistanova <<a href="mailto:gkistanova@gmail.com">gkistanova@gmail.com</a>> wrote:<br>
>> Hello Marco,<br>
>><br>
>> Welcome aboard!<br>
>><br>
>> slaves.py keeps the build slaves definitions, builders.py keeps the builders<br>
>> definitions. You have to have both.<br>
>> The steps of adding a new slave is here:<br>
>> <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_docs_HowToAddABuilder.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=GP8X3UQcFGPncr05G7nTvCrFmmbV2u8yM422d8L6ePQ&s=PxXT3rOmeteeflhqnMJZ9oM3CP739C81R4jkVcr9ODw&e=" rel="noreferrer" target="_blank">http://llvm.org/docs/HowToAddABuilder.html</a>. Please make sure you done the<br>
>> step # 10 before bringing your slave up, otherwise it wouldn't be authorized<br>
>> by the master and will be blacklisted after multiple failures.<br>
>><br>
>> To make sure the slave is ready, you can start from manually building and<br>
>> testing everything you want the build to do on that slave in context of the<br>
>> account the build slave will be running in.<br>
>> If you succeed, then the slave is likely ready.<br>
>><br>
>> You patch doesn't look right.<br>
>> getLLVMBuildFactory does not support cmake, so it wouldn't do what you think<br>
>> it will. For the same reason your slave properties (jobs and loadaverage)<br>
>> wouldn't work.<br>
>> See zorg/buildbot/builders/LLVMBuilder.py for more details.<br>
>><br>
>> You either build LLVM with configure (this is what the existing LLVM factory<br>
>> does), add a new CMakeBuildFactory to support cmake, or build LLVM+clang<br>
>> with cmake by using a clang build factory.<br>
>><br>
>> If you use any of the existing build factories, you do not really need a<br>
>> local master. You can add your builder and your slave to the <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=GP8X3UQcFGPncr05G7nTvCrFmmbV2u8yM422d8L6ePQ&s=cx430eOWi2rNuxvHxh3WfkHjubS6BsyE9LSyKBXov2Q&e=" rel="noreferrer" target="_blank">lab.llvm.org</a><br>
>> master and move from there.<br>
>> As the first step you will be adding your builder as experimental anyway, so<br>
>> you will have a chance to work out possible issues and instabilities before<br>
>> promoting it to a stable one.<br>
>><br>
>> You do need a local master to be able to debug and test if you develop zorg,<br>
>> i.e. write a new CMakeBuildFactory and such, though.<br>
>><br>
>> Hope this helps.<br>
>><br>
>> Thanks<br>
>><br>
>> Galina<br>
>><br>
>><br>
>><br>
>> On Mon, Jun 8, 2015 at 9:04 PM, Marco Leogrande <<a href="mailto:marcol@plumgrid.com">marcol@plumgrid.com</a>> wrote:<br>
>>><br>
>>> Hi all,<br>
>>> I was trying to make some progress on this front and I spent some more<br>
>>> time on it.<br>
>>><br>
>>> * I think I managed to configure the buildslave correctly; any chance<br>
>>> there is a way to test that before the buildmaster is configured?<br>
>>><br>
>>> * I was trying to figure out where/how to add the configuration in<br>
>>> zorg. slaves.py looks reasonably easy to configure, but builders.py<br>
>>> looks more convoluted. I think the attached patch is a start for the<br>
>>> build part, but of course I have no idea if it makes any sense :)<br>
>>> The idea would be to replicate the following workflow (build<br>
>>> experimental backend + tests):<br>
>>><br>
>>> cmake -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=BPF ../path/to/src/<br>
>>> make -jX<br>
>>> ./bin/llvm-lit test/CodeGen/BPF/<br>
>>><br>
>>><br>
>>> Any suggestion would be appreciated.<br>
>>><br>
>>> Thanks!<br>
>>><br>
>>> Regards,<br>
>>><br>
>>> Marco Leogrande<br>
>>><br>
>>> Sent by a carbon-based life form; hence, it may contain repetitions,<br>
>>> inaccuracies, logical fallacies and repetitions.<br>
>>><br>
>>><br>
>>> On Thu, May 7, 2015 at 8:56 PM, Marco Leogrande <<a href="mailto:marcol@plumgrid.com">marcol@plumgrid.com</a>><br>
>>> wrote:<br>
>>> > Hi everyone,<br>
>>> > I am working with Alexei Starovoitov to contribute an LLVM buildbot<br>
>>> > for the experimental BPF backend.<br>
>>> > I am following the steps at [1] to setup a buildbot and I was mostly<br>
>>> > successful: I was able to setup a slave and a temporary master to<br>
>>> > check its base config.<br>
>>> ><br>
>>> > Now I'm not sure about the next step: patching the "slaves.py" and<br>
>>> > "builders.py" files in zorg.<br>
>>> ><br>
>>> > * Is there a guide I can follow to understand the format of these<br>
>>> > files? For example, being BPF an experimental backend, I need to<br>
>>> > provide extra parameters to cmake at build time.<br>
>>> ><br>
>>> > * Also, is there a way to test these changes in zorg in a local<br>
>>> > environment before submitting the patch for review?<br>
>>> ><br>
>>> > Thank you!<br>
>>> ><br>
>>> ><br>
>>> > [1] <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_docs_HowToAddABuilder.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=GP8X3UQcFGPncr05G7nTvCrFmmbV2u8yM422d8L6ePQ&s=PxXT3rOmeteeflhqnMJZ9oM3CP739C81R4jkVcr9ODw&e=" rel="noreferrer" target="_blank">http://llvm.org/docs/HowToAddABuilder.html</a><br>
>>> ><br>
>>> > Regards,<br>
>>> ><br>
>>> > Marco Leogrande<br>
>>> ><br>
>>> > Sent by a carbon-based life form; hence, it may contain repetitions,<br>
>>> > inaccuracies, logical fallacies and repetitions.<br>
>><br>
>><br>
</div></div></blockquote></div><br></div>