[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