[llvm-dev] Announce of the new LLVM buildbot, bb9.pgr.jp

NAKAMURA Takumi via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 16 06:03:44 PDT 2017


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>


More information about the llvm-dev mailing list