# zorg config for libc++/libc++abi

**URL:** <https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164>\
**Category:** LLVM Dev List Archives\
**Created:** [August 2, 2014, 4:56am UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164 "2014-08-02T04:56:45Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dan\_Albert](https://avatars.discourse-cdn.com/v4/letter/d/439d5e/32.png) [@Dan\_Albert](https://discourse.llvm.org/u/Dan_Albert)\
**Post date:** [August 2, 2014, 4:56am UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/1 "2014-08-02T04:56:45Z")

</div>

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](https://github.com/DanAlbert/zorg/commit/2ff832f710982c487174e507bb2a2704248fe821)

Thanks,  
Dan

---

<div class="post-metadata">

**Author:** ![gribozavr](https://avatars.discourse-cdn.com/v4/letter/g/65b543/32.png) [@gribozavr](https://discourse.llvm.org/u/gribozavr)\
**Post date:** [August 3, 2014, 12:44pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/2 "2014-08-03T12:44:12Z")

</div>

> 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

---

<div class="post-metadata">

**Author:** ![gribozavr](https://avatars.discourse-cdn.com/v4/letter/g/65b543/32.png) [@gribozavr](https://discourse.llvm.org/u/gribozavr)\
**Post date:** [August 3, 2014, 12:47pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/3 "2014-08-03T12:47:08Z")

</div>

> > 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

---

<div class="post-metadata">

**Author:** ![dan\_liew](https://sea1.discourse-cdn.com/flex021/user_avatar/discourse.llvm.org/dan_liew/32/14344_2.png) [@dan\_liew](https://discourse.llvm.org/u/dan_liew)\
**Post date:** [August 4, 2014, 1:20pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/4 "2014-08-04T13:20:02Z")

</div>

> > 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](http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-August/075287.html)

---

<div class="post-metadata">

**Author:** ![gribozavr](https://avatars.discourse-cdn.com/v4/letter/g/65b543/32.png) [@gribozavr](https://discourse.llvm.org/u/gribozavr)\
**Post date:** [August 4, 2014, 2:20pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/5 "2014-08-04T14:20:41Z")

</div>

> > \> 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

---

<div class="post-metadata">

**Author:** ![Tobias\_Grosser6](https://avatars.discourse-cdn.com/v4/letter/t/e95f7d/32.png) [@Tobias\_Grosser6](https://discourse.llvm.org/u/Tobias_Grosser6)\
**Post date:** [August 4, 2014, 2:47pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/6 "2014-08-04T14:47:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Dan\_Albert](https://avatars.discourse-cdn.com/v4/letter/d/439d5e/32.png) [@Dan\_Albert](https://discourse.llvm.org/u/Dan_Albert)\
**Post date:** [August 5, 2014, 12:02am UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/7 "2014-08-05T00:02:30Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![gribozavr](https://avatars.discourse-cdn.com/v4/letter/g/65b543/32.png) [@gribozavr](https://discourse.llvm.org/u/gribozavr)\
**Post date:** [August 5, 2014, 6:14am UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/8 "2014-08-05T06:14:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dan\_liew](https://sea1.discourse-cdn.com/flex021/user_avatar/discourse.llvm.org/dan_liew/32/14344_2.png) [@dan\_liew](https://discourse.llvm.org/u/dan_liew)\
**Post date:** [August 6, 2014, 7:25pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/9 "2014-08-06T19:25:05Z")

</div>

> > > > > 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

---

<div class="post-metadata">

**Author:** ![Renato\_Golin1](https://avatars.discourse-cdn.com/v4/letter/r/47e85d/32.png) [@Renato\_Golin1](https://discourse.llvm.org/u/Renato_Golin1)\
**Post date:** [August 7, 2014, 3:20pm UTC](https://discourse.llvm.org/t/zorg-config-for-libc-libc-abi/33164/10 "2014-08-07T15:20:40Z")

</div>

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

cheers,  
--renato
