<div dir="ltr">At first, thanks to the sponsor, who lets me using 36-core machine for my builder. I have been running the unofficial buildbot, <a href="http://bb.pgr.jp" target="_blank">bb.pgr.jp</a> since 2011. As you know, I suppose it has been useful to you guys.<br><br>I introduce the new buildbot, <a href="http://bb9.pgr.jp/#/console" target="_blank">http://bb9.pgr.jp/#/console</a> , although it is in alpha stage.  I have started running it for weeks.<div><br></div><div><font size="4">What is Buildbot Nine?</font></div><div><br></div><div><a href="https://nine.buildbot.net/#/">Buildbot Nine</a> has advantages;</div><div><ul><li> The frontend is isolated from the backend with API and web socket. At the moment, frontends should be written in AngularJS1 and CoffeeScript.<br></li><li>Web socket makes clients available to see status real-time.</li></ul></div><div>I think Nine is still immature but very promising.</div><div><br></div><div><font size="4">What I have improved the bb9 from the upstream Nine?</font></div><div><br></div><div>I did many works to spend my time. Some of them are pushed into the Github. See <a href="https://github.com/chapuni/bb-automaton/commits/master">bb-automaton</a> and <a href="https://github.com/chapuni/buildbot/commits/chapuni/nine">buildbot</a>.</div><div><ul><li><b>Prioritized build</b>. Each build has upstreams and waits for them. It makes failures less noisy. It has been implemented in legacy <a href="http://bb.pgr.jp">bb.pgr.jp</a>.</li><li><b>Auto-bisecting</b>. It doesn't blame many guys anymore. FYI, it is implemented in the buildmaster and doesn't use git-bisect.</li><li><b>Auto-reverting</b>. Problematic commit will be reverted locally for builders. Any failures won't hide subsequent potential failures.</li><li><b>Reporting failures by SUCC->FAIL edge</b>. The upstream can detect failure event when each build becomes success->failure. It emits many noises for bisection. I made bb9 detect the edge to seeking build status by revisions (changes).<br>It also reports failure when subsequent commit didn't resolve the precedent failure.</li><li><b>Auto-recommitting</b>. Reverted commits may be recommitted in any opportunities. For example,<br>- The author of reverted commit is committing something<br>- An incoming commit conflicts against already-reverted commits. bb9 attempts to recommit reverted commits by merge squashing.<br>I think auto-recommitting will become the key feature of bb9. I have to improve its behavior.</li><li>And other tweaks, ... tweak revision-friendly, tweak console-view fancy, etc.</li></ul></div><div>With features above, bb9 has been working to detect failures that other buildbot couldn't do, in daily testing run. Reporting can be seen at <a href="https://webchat.oftc.net/?channels=%23llvm-build">irc.oftc.net, #llvm-build</a> .</div><div>I am certain that bb9 can help the community.</div><div><br></div><div>I would like to improve bb9 as below;</div><div><ul><li><b>Send emails as notification</b>. Personally I was too afraid of sending noisy spams, therefore I disabled email feature. When I will confirm bb9 works well, I will enable email feature.</li><li><b>Improve auto-recommitting</b>. I am planning other strategies including "recommit periodically", but I think I just need "recommitting particular commit manually from the frontend".</li><li><b>Implement "resolved" notification</b>. It is related to auto-recommitting.</li><li><b>Implement "try" branches</b>. I would like guys can push their commits as "try" branch via Github. I suppose they have to use the monorepo. I am planning that "try" branche disappears when its builds are completed.<br></li><li><b>Implement the "dev/trunk" branch in advance of SVN upstream</b>. In contrast to "try" branches, bb9 may accept and merge guys' branches to bb9's master branch. I am planning to let some developer push commits to the branch.<br>They should "graduate" when they are committed to the upstream svn.</li><li><b>Improve performance of the frontend</b>. It is due to the upstream Nine. I will investigate and improve issues if I had time.</li><li><b>Improve performance of the backend</b>. It is due to the upstream Nine. It makes impossible to run bb9 on AWS t2.nano to spend too much processor time. At the moment, bb9 is using t2.micro.<br>FYI, <a href="http://bb.pgr.jp/console" target="_blank">http://bb.pgr.jp/console</a> is running fine on t2.nano. </li><li><b>Improve Waterfall view</b>. I prefer legacy view with buildsteps. And you?</li><li>And many...</li></ul></div><div>They are not straight-forward tasks.</div><div><br></div><div><font size="4">I WANT A SPONSOR FOR ME TO IMPROVE BB9</font></div><div><br></div><div>My position is "an individual volunteer developer" for months. I have been working for LLVM to spend my savings and debt.</div><div>I would like to continue working on to improving bb9 and LLVM Project. I really want a sponsor for them, or I would have less time for LLVM, due to boring non-LLVM job. Please consider how I am useful for the community. Feel free to contact me via email or irc @chapuni.</div><div>I am not expensive ;)</div><div><br></div><div>Thank you,</div><div>Takumi Nakamura</div><div><br></div><div><br></div></div>