Build bot for documentation?

Hi,

I've been spending a bit of time fixing up building and installation
of the Doxygen and Sphinx documentation for CMake. There are more
fixes in the pipeline (none for autconf/make system, I'm not
interested in fixing that) but I started wondering if any testing was
done to check that documentation builds correctly for LLVM and its
various subprojects.

I'm not particularly familiar with buildbot but if people think its a
good idea I would be happy to invest some time in setting up a
buildbot slave who's job it is to build the documentation. Maybe the
slave could also be setup to deploy the documentation as well?

Thanks,

Please go ahead. We can host the buildbot here:

http://lab.llvm.org:8011/buildslaves/gribozavr4

Dmitri

Please go ahead. We can host the buildbot here:

http://lab.llvm.org:8011/buildslaves/gribozavr4

Thanks. I guess I'll have to do some reading because I don't have a
good high level understanding of how the build bot works.

For gribozavr4 does that mean running a new buildbot slave process on
the machine or can slaves build multiple configurations (is this the
same as what buildbot calls a "builder")? Also is it the master or
slave that chooses which configurations a slave should build?

From reading http://llvm.org/docs/HowToAddABuilder.html it wasn't

completely clear to me as this documentation seems to add a slave and
builder at the same time, whereas you are suggesting we use an
existing slave.

Thanks,

Please go ahead. We can host the buildbot here:

http://lab.llvm.org:8011/buildslaves/gribozavr4

Thanks. I guess I'll have to do some reading because I don't have a
good high level understanding of how the build bot works.

For gribozavr4 does that mean running a new buildbot slave process on
the machine or can slaves build multiple configurations (is this the
same as what buildbot calls a "builder")? Also is it the master or
slave that chooses which configurations a slave should build?

We will be just running multiple build configurations on the same machines.

For example, this machine
http://lab.llvm.org:8011/buildslaves/gribozavr1 builds three
configurations already.

From reading http://llvm.org/docs/HowToAddABuilder.html it wasn't
completely clear to me as this documentation seems to add a slave and
builder at the same time, whereas you are suggesting we use an
existing slave.

Yes, that page is more about adding a new machine. Please take a look
at examples in https://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/

These are two scripts that have been written recently and don't have
lots of complexity in them:

https://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangAndLLDBuilder.py?revision=201498&view=markup
https://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/Libiomp5Builder.py?revision=205118&view=markup

Dmitri

Hi Dmitri,

Sorry it's taken so long for me to take a look at this. I've finally
found some free time to look at this :slight_smile:

I've got created a factory for building Sphinx documentation on my
local machine and that's mostly working so I plan to submit a patch
soon. Can I check a few things with you?

- Is it still okay to use 'gribozavr4' as the build slave?

- The factory I've created made requires CMake, Ninja and Sphinx to
all be installed. Are those all installed on 'gribozavr4'?

Thanks,
Dan.

Hi Dmitri,

Sorry it's taken so long for me to take a look at this. I've finally
found some free time to look at this :slight_smile:

I've got created a factory for building Sphinx documentation on my
local machine and that's mostly working so I plan to submit a patch
soon.

Sounds great!

Can I check a few things with you?

- Is it still okay to use 'gribozavr4' as the build slave?

Of course.

- The factory I've created made requires CMake, Ninja and Sphinx to
all be installed. Are those all installed on 'gribozavr4'?

Yes, they are.

Dmitri

- Is it still okay to use 'gribozavr4' as the build slave?

Of course.

Great. Thanks for the quick reply.

Should I CC anyone when sending to llvm-commits apart from you?

Thanks,
Dan.

Sean Silva knows a lot about our Sphinx setup.

Dmitri