Adding a Buildbot Config

The document here explains pretty well how to add a buildslave to the
buildbot:

http://llvm.org/docs/HowToAddABuilder.html

However, it's not clear to me how to add a new build config. I would
like to add a buildslave that builds with -Werror so we can catch and
correct warnings early.

How should I go about adding a new build configuration? Do I edit
one of the .py files in zorg?

Thanks!

                         -David

Can you get the desired effect with --with-extra-options=?

Otherwise, please take a look at zorg/buildbot/builders/ClangBuilder.py.

Dmitri

Dmitri Gribenko <gribozavr@gmail.com> writes:

It is a configure argument that specifies extra options to compile
with. For buildbots, it is the extra_configure_args parameter for
getClangBuildFactory (look at examples in builders.py).

Dmitri

Dmitri Gribenko <gribozavr@gmail.com> writes:

Dmitri Gribenko <gribozavr@gmail.com> writes:

Dmitri Gribenko <gribozavr@gmail.com> writes:

The document here explains pretty well how to add a buildslave to the
buildbot:

http://llvm.org/docs/HowToAddABuilder.html

However, it's not clear to me how to add a new build config. I would
like to add a buildslave that builds with -Werror so we can catch and
correct warnings early.

How should I go about adding a new build configuration? Do I edit
one of the .py files in zorg?

Can you get the desired effect with --with-extra-options=?

Probably, but where do I put that?

It is a configure argument that specifies extra options to compile
with. For buildbots, it is the extra_configure_args parameter for
getClangBuildFactory (look at examples in builders.py).

Right, I get that. Actually I would probably use --enable-werror.

Should I create a patch for builders.py to add a new config?

Yes. Send it to llvm-commits and CC Galina Kistanova.

Is there a way to map a config so that it only even builds on a certain
buildslave? I don't want to burden other builders with my config.

Just edit one entry for your builder in builders.py, it will not
affect others. (Or add a new one if you are adding a new builder.)

Dmitri

Dmitri Gribenko <gribozavr@gmail.com> writes:

Right, I get that. Actually I would probably use --enable-werror.

Should I create a patch for builders.py to add a new config?

Yes. Send it to llvm-commits and CC Galina Kistanova.

Ok, cool. Thanks!

Is there a way to map a config so that it only even builds on a certain
buildslave? I don't want to burden other builders with my config.

Just edit one entry for your builder in builders.py, it will not
affect others. (Or add a new one if you are adding a new builder.)

Ok.

                           -David

Hi David,

To add a builder you need to add your slave to slaves.py and a builder for this slave to builders.py.
Here is an example of builder (from builder.py) with extra options to configuration:

{‘name’: “llvm-mips-linux”,
‘slavenames’:[“mipsswbrd002”],
‘builddir’:“llvm-mips-linux”,
‘factory’: LLVMBuilder.getLLVMBuildFactory(“mips-linux-gnu”,
extra_configure_args=["–with-extra-options=-mips32r2",
“–with-extra-ld-options=-mips32r2”])},

Only this builder gets these extra options.

Please let me know if you need more directions.

Thanks

Galina