NAKAMURA Takumi via llvm-dev
2017-Oct-16 13:03 UTC
[llvm-dev] Announce of the new LLVM buildbot, bb9.pgr.jp
At first, thanks to the sponsor, who lets me using 36-core machine for my builder. I have been running the unofficial buildbot, bb.pgr.jp since 2011. As you know, I suppose it has been useful to you guys. I introduce the new buildbot, http://bb9.pgr.jp/#/console , although it is in alpha stage. I have started running it for weeks. What is Buildbot Nine? Buildbot Nine <https://nine.buildbot.net/#/> has advantages; - The frontend is isolated from the backend with API and web socket. At the moment, frontends should be written in AngularJS1 and CoffeeScript. - Web socket makes clients available to see status real-time. I think Nine is still immature but very promising. What I have improved the bb9 from the upstream Nine? I did many works to spend my time. Some of them are pushed into the Github. See bb-automaton <https://github.com/chapuni/bb-automaton/commits/master> and buildbot <https://github.com/chapuni/buildbot/commits/chapuni/nine>. - *Prioritized build*. Each build has upstreams and waits for them. It makes failures less noisy. It has been implemented in legacy bb.pgr.jp. - *Auto-bisecting*. It doesn't blame many guys anymore. FYI, it is implemented in the buildmaster and doesn't use git-bisect. - *Auto-reverting*. Problematic commit will be reverted locally for builders. Any failures won't hide subsequent potential failures. - *Reporting failures by SUCC->FAIL edge*. 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). It also reports failure when subsequent commit didn't resolve the precedent failure. - *Auto-recommitting*. Reverted commits may be recommitted in any opportunities. For example, - The author of reverted commit is committing something - An incoming commit conflicts against already-reverted commits. bb9 attempts to recommit reverted commits by merge squashing. I think auto-recommitting will become the key feature of bb9. I have to improve its behavior. - And other tweaks, ... tweak revision-friendly, tweak console-view fancy, etc. 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 irc.oftc.net, #llvm-build <https://webchat.oftc.net/?channels=%23llvm-build> . I am certain that bb9 can help the community. I would like to improve bb9 as below; - *Send emails as notification*. 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. - *Improve auto-recommitting*. I am planning other strategies including "recommit periodically", but I think I just need "recommitting particular commit manually from the frontend". - *Implement "resolved" notification*. It is related to auto-recommitting. - *Implement "try" branches*. 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. - *Implement the "dev/trunk" branch in advance of SVN upstream*. 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. They should "graduate" when they are committed to the upstream svn. - *Improve performance of the frontend*. It is due to the upstream Nine. I will investigate and improve issues if I had time. - *Improve performance of the backend*. 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. FYI, http://bb.pgr.jp/console is running fine on t2.nano. - *Improve Waterfall view*. I prefer legacy view with buildsteps. And you? - And many... They are not straight-forward tasks. I WANT A SPONSOR FOR ME TO IMPROVE BB9 My position is "an individual volunteer developer" for months. I have been working for LLVM to spend my savings and debt. 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. I am not expensive ;) Thank you, Takumi Nakamura -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171016/4b2b624b/attachment.html>