<div dir="ltr">Hello Marco,<div><br></div><div>Welcome aboard!<br></div><div><br></div><div>slaves.py keeps the build slaves definitions, builders.py keeps the builders definitions. You have to have both.<br></div><div>The steps of adding a new slave is here: <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=MbfRrNcbOBF75keUxjbutLBFAaxkei7TWuW8i6mD3Gk&s=8er4Led824t2WSUSVkdEEp05eM94_Z7xMG-eQV1ylkE&e=">http://llvm.org/docs/HowToAddABuilder.html</a>. 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.<br></div><div><br><div>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.</div>If you succeed, then the slave is likely ready.<br><br></div><div>You patch doesn't look right.<br>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.<br></div><div>See zorg/buildbot/builders/LLVMBuilder.py for more details.<br></div><div><br></div><div>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.<br></div><div><br></div><div>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 <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=MbfRrNcbOBF75keUxjbutLBFAaxkei7TWuW8i6mD3Gk&s=hib0KALgWHamgbgW442LU5blndetL241XmwUprzmeMs&e=" target="_blank">lab.llvm.org</a> master and move from there.</div><div>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.<br><br>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.<br></div><div><br></div><div>Hope this helps.<br><br></div><div>Thanks<br><br></div><div>Galina<br></div><div><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 8, 2015 at 9:04 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">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>
<span class="im HOEnZb"><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><div class="HOEnZb"><div class="h5">On Thu, May 7, 2015 at 8:56 PM, Marco Leogrande <<a href="mailto:marcol@plumgrid.com">marcol@plumgrid.com</a>> 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=MbfRrNcbOBF75keUxjbutLBFAaxkei7TWuW8i6mD3Gk&s=8er4Led824t2WSUSVkdEEp05eM94_Z7xMG-eQV1ylkE&e=" 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>
</div></div></blockquote></div><br></div>