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.
I asked for a buildbot configuration in my email response already, since Mu said he had one ready to go. Please attach it!
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.
(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.
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.
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)
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.
(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.
(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.
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.
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.
(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
Changed deployed in cfengine now.
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
(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.
> > 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
(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
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.
=sys-devel/gcc-4.5.2 has been installed.
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
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.
(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?
The build complete now, but your tests still fail.
(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.
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.
The build is green now
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.
Please reopen the bug if you need something else since GSoC 2011 is long over.