Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 370301 - Request for buildbot setup on soc.dev.gentoo.org
Summary: Request for buildbot setup on soc.dev.gentoo.org
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Infrastructure
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Infrastructure
URL: http://soc.dev.gentoo.org/buildbot-li...
Whiteboard:
Keywords:
Depends on: 369883
Blocks:
  Show dependency tree
 
Reported: 2011-06-06 16:03 UTC by Mu Qiao (RETIRED)
Modified: 2012-02-09 22:00 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
buildbot configuration (master.cfg,5.39 KB, text/plain)
2011-06-07 02:30 UTC, Mu Qiao (RETIRED)
Details
try to make webhook working (master.cfg.patch,3.03 KB, patch)
2011-06-14 05:05 UTC, Mu Qiao (RETIRED)
Details | Diff
specify gcc version (master.cfg.patch,543 bytes, patch)
2011-06-22 10:49 UTC, Mu Qiao (RETIRED)
Details | Diff
specify gcc version after make (master.cfg.patch,650 bytes, patch)
2011-06-23 01:01 UTC, Mu Qiao (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mu Qiao (RETIRED) gentoo-dev 2011-06-06 16:03:03 UTC
Buildbot is a popular CI server. This could benefit all the GSoC projects.

Buildbot shouldn't involve other dependencies as I can install it in my home directory with easy_install --user.

The problem is the home directory is mounted with noexec. So could you please give me a directory that can execute commands? 

Thanks.
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-06 23:23:15 UTC
I asked for a buildbot configuration in my email response already, since Mu said he had one ready to go. Please attach it!
Comment 2 Mu Qiao (RETIRED) gentoo-dev 2011-06-07 02:30:28 UTC
Created attachment 276085 [details]
buildbot configuration

It's not ready enough as it can only monitor changes from one branch. We need to make it working with github hook. Anyway configuration file attached.
Comment 3 Mu Qiao (RETIRED) gentoo-dev 2011-06-08 06:59:14 UTC
(In reply to comment #2)
> Created attachment 276085 [details]
> buildbot configuration
> 
> It's not ready enough as it can only monitor changes from one branch. We need
> to make it working with github hook. Anyway configuration file attached.

Maybe I wasn't clear enough. In order to make the github hook working, we need a public accessible machine which we do not have.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-09 06:12:31 UTC
Your buildmaster & buildslave are online now.
http://soc.dev.gentoo.org/buildbot-libbash/
Served via Apache reverse-proxy.

Problems are as follows for you to resolve.
1. the init.d scripts do NOT return success, but do run quite fine (betelgeuse?)
2. Your code seems to make a lot of assumptions about system & security. The chown to your qiaomuf user will not succeed.
Comment 5 Mu Qiao (RETIRED) gentoo-dev 2011-06-10 07:42:52 UTC
Is it possible to create a new group for buildbot? The configuration file is not working and we can not fix it without proper permission. My own machine doesn't help as it's not public accessible(hard to make github web hook working)
Comment 6 Petteri Räty (RETIRED) gentoo-dev 2011-06-10 15:04:54 UTC
Alternatively I think noexec mounted home prevented from Mu from testing it. So we don't necessarily need access to production config as long as Mu can write somewhere that is mounted with execute permissions.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-10 20:48:52 UTC
(In reply to comment #5)
> Is it possible to create a new group for buildbot? The configuration file is
> not working and we can not fix it without proper permission. My own machine
> doesn't help as it's not public accessible(hard to make github web hook
> working)
The problem w/ letting you change the master.cfg directly is that you can then elevated perms to the buildbot user easily.

- What's wrong with the master.cfg?
- You can run buildslaves on machines that aren't publicly accessible, as long as they have outbound access to the buildmaster.
- What do you need to execute directly on the server to run buildbot? I have the buildmaster & buildslave running already.
Comment 8 Mu Qiao (RETIRED) gentoo-dev 2011-06-11 03:35:53 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > Is it possible to create a new group for buildbot? The configuration file is
> > not working and we can not fix it without proper permission. My own machine
> > doesn't help as it's not public accessible(hard to make github web hook
> > working)
> The problem w/ letting you change the master.cfg directly is that you can then
> elevated perms to the buildbot user easily.
> 
> - What's wrong with the master.cfg?

The main problem is the buildmaster can only monitor changes from one branch. I think github web hook could solve the problem. So we want to have the web hook working.

> - You can run buildslaves on machines that aren't publicly accessible, as long
> as they have outbound access to the buildmaster.

Yes that's true. But we need to make the buildmaster working properly first.

> - What do you need to execute directly on the server to run buildbot? I have
> the buildmaster & buildslave running already.

As you've already made buildmaster & buildslave running, the only thing I need is to test the modified master.cfg and let it take effect. I think what Petteri means is that I can install buildbot in my home directory and make it working with execute permission.
Comment 9 Mu Qiao (RETIRED) gentoo-dev 2011-06-13 08:30:29 UTC
The dependencies:
>=dev-libs/antlr-c-3.3_pre20110403
>=dev-libs/boost-1.46.1
sys-apps/paludis
app-doc/doxygen
dev-texlive/texlive-latex
>=virtual/jdk-1.4
dev-util/gtest

Thanks.
Comment 10 Mu Qiao (RETIRED) gentoo-dev 2011-06-14 05:05:10 UTC
Created attachment 276987 [details, diff]
try to make webhook working

The main change is removing the categories property of the AnyBranchScheduler, which hopefully will make the scheduler react to changes from github.
In addition, some unnecessary configuration is removed and the homepage is updated.

Thanks.
Comment 11 Mu Qiao (RETIRED) gentoo-dev 2011-06-22 02:31:18 UTC
(In reply to comment #9)
> The dependencies:
> >=dev-libs/antlr-c-3.3_pre20110403
> >=dev-libs/boost-1.46.1
> sys-apps/paludis
> app-doc/doxygen
> dev-texlive/texlive-latex
> >=virtual/jdk-1.4
> dev-util/gtest
> 
> Thanks.

Paludis is bumped and we don't support the latest version. So the dependency of Paludis is:
<sys-apps/paludis-0.62.0
Comment 12 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-22 02:50:36 UTC
Changed deployed in cfengine now.
Comment 13 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-22 06:11:05 UTC
1. Bug #369883 is blocking you having texlive-latex.
2. Your make fails now:
http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/69/steps/shell_1/logs/stdio

 closing stdin
 using PTY: False
  GEN    cgrammar.run
Unrecognized option: -fo
Could not create the Java virtual machine.
make: *** [cgrammar.run] Error 1
program finished with exit code 2
Comment 14 Mu Qiao (RETIRED) gentoo-dev 2011-06-22 06:57:29 UTC
(In reply to comment #13)
> 1. Bug #369883 is blocking you having texlive-latex.

If this is the case we can ignore texlive-latex for now.

> 2. Your make fails now:
> http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/69/steps/shell_1/logs/stdio
> 
>  closing stdin
>  using PTY: False
>   GEN    cgrammar.run
> Unrecognized option: -fo
> Could not create the Java virtual machine.
> make: *** [cgrammar.run] Error 1
> program finished with exit code 2

Sorry I missed one dependency:
dev-java/antlr:3

That's why the build failed.
Comment 15 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-22 07:57:50 UTC
> >  closing stdin
> >  using PTY: False
> >   GEN    cgrammar.run
> > Unrecognized option: -fo
> > Could not create the Java virtual machine.
> > make: *** [cgrammar.run] Error 1
> > program finished with exit code 2
> 
> Sorry I missed one dependency:
> dev-java/antlr:3
> 
> That's why the build failed.
I added it, and things are still failing:

http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/70/steps/shell_1/logs/stdio
Comment 16 Mu Qiao (RETIRED) gentoo-dev 2011-06-22 08:18:00 UTC
(In reply to comment #15)
> > >  closing stdin
> > >  using PTY: False
> > >   GEN    cgrammar.run
> > > Unrecognized option: -fo
> > > Could not create the Java virtual machine.
> > > make: *** [cgrammar.run] Error 1
> > > program finished with exit code 2
> > 
> > Sorry I missed one dependency:
> > dev-java/antlr:3
> > 
> > That's why the build failed.
> I added it, and things are still failing:
> 
> http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/70/steps/shell_1/logs/stdio

This is the limit from our build system. I'll fix our build system and see if it's working properly.

Thanks
Comment 17 Mu Qiao (RETIRED) gentoo-dev 2011-06-22 10:49:27 UTC
Created attachment 277751 [details, diff]
specify gcc version

Now everything works fine except for the compiler.

New dependency:
=sys-devel/gcc-4.5.2

The attachment is the patch for master.cfg.

After this revision d1ac7577e268b6cf15a758f0aa8bfd9d175b4f8b should be built properly. Some unit tests may fail but it doesn't matter as long as they can get compiled.
Comment 18 Christian Ruppert (idl0r) gentoo-dev 2011-06-22 12:30:05 UTC
=sys-devel/gcc-4.5.2 has been installed.
Comment 19 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-22 15:45:07 UTC
Still failing after GCC 4.5.2 is installed and CC/CXX is set.

http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/80/steps/shell_1/logs/stdio
Comment 20 Mu Qiao (RETIRED) gentoo-dev 2011-06-23 01:01:41 UTC
Created attachment 277839 [details, diff]
specify gcc version after make

I forgot that fact that distcheck would run configure again so specifying CC/CXX after ./autogen.sh is not working. The patch fixes this by specifying the compiler after make.

You could test it by rebuild "Build 81". Other ones may not work as there is a problem in our build system as I mentioned earlier.
Comment 21 Mu Qiao (RETIRED) gentoo-dev 2011-06-27 13:31:44 UTC
(In reply to comment #19)
> Still failing after GCC 4.5.2 is installed and CC/CXX is set.
> 
> http://soc.dev.gentoo.org/buildbot-libbash/builders/dist_check/builds/80/steps/shell_1/logs/stdio

Now there are errors while compiling the code. Could you please change CXX=gcc-4.5.2 to CXX=g++-4.5.2?
Comment 22 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-27 18:47:36 UTC
The build complete now, but your tests still fail.
Comment 23 Mu Qiao (RETIRED) gentoo-dev 2011-06-28 03:21:11 UTC
(In reply to comment #22)
> The build complete now, but your tests still fail.

The gunit useflag of antlr should be enabled:
dev-java/antlr:3[gunit]

It's hard to figure out errors from the the link, could you please attach the test-suite.log as I don't have read permission.
It should be in /var/lib/buildmaster/dist_check/_build/test-suite.log.
Comment 24 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-28 03:54:53 UTC
1. Rebuilt dev-java/antlr:3[gunit]
2. Since you were overridding CXX, you failed to override LD_LIBRARY_PATH when you needed the libstc++, leading to lots of this error in the logs:
./ast_printer: /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./ast_printer)

Solution: added LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/ to your environment for building.

Please split your steps up so that the build & test runs are seperate, and then add a step that cats the test output file. The correct path is /var/lib/buildslave/libbash-slave/dist_check/build/libbash-0.1/_build/test-suite.log
As the tests run at the buildslave, not the buildmaster.
Comment 25 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-06-28 04:04:41 UTC
The build is green now
Comment 26 Mu Qiao (RETIRED) gentoo-dev 2011-08-06 12:05:08 UTC
As there will be future development for libbash, I'm wondering if we can keep the buildbot setup after GSoC or move it to a more proper place.
Comment 27 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-02-09 22:00:29 UTC
Please reopen the bug if you need something else since GSoC 2011 is long over.