zorg config for libc++/libc++abi

Hi all,

I’m trying to add builders to zorg for libc++ and libc++abi. I think I have the builder right, but I have a few questions.

First, how do I know which build slaves to use? Is it okay to just pick a few, is there some policy defining which are fair game, or do I need to add a new one?

Second, is there a simple way to test the builder and config before I commit it?

Here’s my first attempt: https://github.com/DanAlbert/zorg/commit/2ff832f710982c487174e507bb2a2704248fe821

Thanks,
Dan

Hi all,

I'm trying to add builders to zorg for libc++ and libc++abi. I think I have
the builder right, but I have a few questions.

First, how do I know which build slaves to use? Is it okay to just pick a
few, is there some policy defining which are fair game, or do I need to add
a new one?

I would be happy to host them. I have a large machine running debian
sid x86_64 and ubuntu 14.04 x86_64 VMs.

Second, is there a simple way to test the builder and config before I commit
it?

I am afraid not.

Dmitri

Hi all,

I'm trying to add builders to zorg for libc++ and libc++abi. I think I have
the builder right, but I have a few questions.

First, how do I know which build slaves to use? Is it okay to just pick a
few, is there some policy defining which are fair game, or do I need to add
a new one?

I would be happy to host them. I have a large machine running debian
sid x86_64

This one has the name 'gribozavr4'.

and ubuntu 14.04 x86_64 VMs.

This one is not connected yet. (Will have the name 'gribozavr5' probably.)

Dmitri

Second, is there a simple way to test the builder and config before I commit
it?

I am afraid not.

But there is a ugly (and certainly not simple) way to partially test the builder that I mentioned recently [1].

I say partially because I ended up removing all the builders apart from my own.

@Dmitri - Has anyone considered reorganising zorg so it is easier to test a builder locally?

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-August/075287.html

> Second, is there a simple way to test the builder and config before I
> commit
> it?

I am afraid not.

But there is a ugly (and certainly not simple) way to partially test the
builder that I mentioned recently [1].

Nice write-up!

I say partially because I ended up removing all the builders apart from my
own.

@Dmitri - Has anyone considered reorganising zorg so it is easier to test a
builder locally?

I am not aware of such effort. However, it would be great to be able
to easily set up a buildmaster locally. This will probably facilitate
further refactorings of zorg code. Currently developers tend not to
touch it because they can not run it.

Dmitri

I commonly test my changes with a 'hacked' buildbot where references to non-existing files are removed and buildslave passwords are hardcoded.

It would be great if we could instead have a 'testing' mode, where the
user can provide a table with buildslave names and passwords and the
buildbot just takes this to accept its buildslaves.

Cheers,
Tobias

Dmitri,

Great, thanks! Can I assume that cmake and a relatively recent clang are already installed? I can add building llvm/clang to the builder, but the fewer CPU cycles the better.

Other-Dan,

Thanks. That write-up really helped. The process still sucks, but at least I wasn’t stumbling blindly.

  • Dan

There is clang 3.5 installed from Debian packages. We could also add
another builder with a trunk clang that we update manually.

There is also cmake, ninja and ccache. Please take a look at other
builders on the same host to set up ccache env vars correctly, if this
would benefit libc++. But IIRC there are only a few translation units
in libc++, so maybe it is not worth it.

Dmitri

Second, is there a simple way to test the builder and config before I
commit
it?

I am afraid not.

But there is a ugly (and certainly not simple) way to partially test the
builder that I mentioned recently [1].

Nice write-up!

Thanks but Mikael Lyngvig deserves most of the credit here. I would
not of got very far without his blog post.

@Dmitri - Has anyone considered reorganising zorg so it is easier to test
a
builder locally?

I am not aware of such effort. However, it would be great to be able
to easily set up a buildmaster locally. This will probably facilitate
further refactorings of zorg code. Currently developers tend not to
touch it because they can not run it.

I commonly test my changes with a 'hacked' buildbot where references to
non-existing files are removed and buildslave passwords are hardcoded.

It would be great if we could instead have a 'testing' mode, where the
user can provide a table with buildslave names and passwords and the
buildbot just takes this to accept its buildslaves.

This should probably be discussed in a different thread. I'll create
one on llvmdev.

Thanks,
Dan

I just have my own local build master. It's not that hard to set up.

cheers,
--renato