MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
Nightingale Forums - Buildbot for Nightingale

Nightingale Forums

Full Version: Buildbot for Nightingale
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I have been working on a BuildBot for Nightingale (similar to what Songbird currently has) for the purposes of Continuous Integration testing and some form of semi-regular build system. My goal with this is to be able to test and build Nightingale on everything we support, which I expect will be a variety of GNU/Linux-based systems and both 32- and 64-bit systems. It could probably include automated packaging of the builds for different distros as well.

So far I have CI going; the BuildBot instance is currently running on a personal server I set up for it at http://ngale.jackgrigg.com/ (I would assume that a Nightingale domain would be used eventually e.g. http://buildbot.getnightingale.com/ ). There is also an IRC bot that can monitor and control the builders (ngalebuilder on #nightingale). At present it uses the Nightingale source but the Songbird 1.8 dependency tree, since stevo isn't quite finished with the Nightingale one but that will be changed when he is done (which will be VERY handy - to anyone outside POTI the Songbird SVN repos are slow as hell @_@). I have just started on the actual building and packaging part.

So anyway, I'm posting this for two reasons:
  • To let you all know it's there, and that CI testing appears to be working - the only failing unit test at present is that it can't find the alsa plugin for gstreamer (though this is using the SB internal dependencies) and the release build manifest check fails because the binaries are renamed.
  • We will need a variety of computers to have as buildslaves, and preferably they would have heads - I have been running the buildslave on my same personal server so far with Xvfb providing the required display, but given that no one is likely to be using Nightingale on a VPS, I think desktops are probably more appropriate for testing =)
That is super awesome! I am so happy that someone is working on this.

I currently have a computer that I can use for buildbots, I can run a few virtual machines on it to do the builds, I would assume that the virtual machines would not have to be very big to do the builds.

Lets make a Forum topic for this and start up a conversation on what we need to to do get this building. I am thinking maybe for starts we get just 2 simple linux machines 32 and 64 bit to do non-distro builds.

(01-20-2011, 09:03 AM)pythonian4000 Wrote: [ -> ]I have been working on a BuildBot for Nightingale (similar to what Songbird currently has) for the purposes of Continuous Integration testing and some form of semi-regular build system. My goal with this is to be able to test and build Nightingale on everything we support, which I expect will be a variety of GNU/Linux-based systems and both 32- and 64-bit systems. It could probably include automated packaging of the builds for different distros as well.

So far I have CI going; the BuildBot instance is currently running on a personal server I set up for it at http://ngale.jackgrigg.com/ (I would assume that a Nightingale domain would be used eventually e.g. http://buildbot.getnightingale.com/ ). There is also an IRC bot that can monitor and control the builders (ngalebuilder on #nightingale). At present it uses the Nightingale source but the Songbird 1.8 dependency tree, since stevo isn't quite finished with the Nightingale one but that will be changed when he is done (which will be VERY handy - to anyone outside POTI the Songbird SVN repos are slow as hell @_@). I have just started on the actual building and packaging part.

So anyway, I'm posting this for two reasons:
  • To let you all know it's there, and that CI testing appears to be working - the only failing unit test at present is that it can't find the alsa plugin for gstreamer (though this is using the SB internal dependencies) and the release build manifest check fails because the binaries are renamed.
  • We will need a variety of computers to have as buildslaves, and preferably they would have heads - I have been running the buildslave on my same personal server so far with Xvfb providing the required display, but given that no one is likely to be using Nightingale on a VPS, I think desktops are probably more appropriate for testing =)

As per this thread the BuildBot now has support for 32-bit pseudo-nightly bintar builds (nightly builds that aren't built nightly). I have also now added RPM building; however, I do not have access to a RPM-based (Fedora, CentOS etc.) machine to build on. So I am now asking for people with appropriate setups to host buildslaves - at present I am looking for RPM and deb systems for building, covering both 32- and 64-bit systems, but other systems are welcome for testing purposes and possibly alternate packaging systems (though these would be implemented at a later date). The setup at present is reasonably simple:
  1. Check separately that you can actually compile Nightingale on the machine, and install development packages as required.
  2. Install python-virtualenv and python-pip (for Ubuntu) or equivalent packages.
  3. Create a user to run the buildslave as.
  4. Run the following commands in the buildslave user's home directory:
    Code:
    virtualenv --no-site-packages slave
    pip -E slave install -U buildbot-slave
  5. Create a "ngale" directory inside the "slave" directory.
  6. Run the following command inside the "ngale" directory:
    Code:
    ../bin/buildslave create-slave ./ ngale.jackgrigg.com <slavename> <slavepass>
    where <slavename> and <slavepass> are supplied by me.
I am also looking into how MariaDB runs their BuildBot system; they set up individual virtual machines with KVM for building various packages and separate ones for testing - this may be a better way to build them, although I know that for testing at least Nightingale requires a display to be present (I've been running Xvfb on my server to emulate this).
Since we can't comment on the blog posts yet, I'll chuck it here:

Could we also have buildbot.getnightingale.com? I think it makes sense to have the BuildBot instance running "under" the Nightingale domain name rather than my personal one. I am still perfectly happy to host the buildmaster (it makes it easier for me to work on it ^_^ ) but I am still looking for other buildslaves, primarily an RPM-based one so I can test and debug the nightly RPM builder.

Oh, and as an update, I am now working on the nightly Deb package builder. For now they will just be hosted on my server along with the RPM and bintar files, but I was considering setting up a step that would upload the nightly Deb to a PPA (only if all tests had passed though (assuming they usually passed) to try and make it a little more stable). Would people find a semi-nightly PPA useful?
Something else that looks interesting is http://supercell.osuosl.org/

They are currently in closed beta but I am working at present to get another project I am involved with hosted at OSU OSL, and so while I do that I will investigate the possibility of setting up the Nightingale buildslaves there once it opens to the public later this year.
(04-20-2011, 10:46 PM)pythonian4000 Wrote: [ -> ]Something else that looks interesting is http://supercell.osuosl.org/

They are currently in closed beta but I am working at present to get another project I am involved with hosted at OSU OSL, and so while I do that I will investigate the possibility of setting up the Nightingale buildslaves there once it opens to the public later this year.

That looks awesome, it would be nice to have something like that setup later. I agree with the buildbot.getnightingale.com site, just tell me where to point the domain.
Cheers stevo, point it at the IP that ngale.jackgrigg.com resolves to.

Also (from my comment I eventually got posted):
"And either host the builds there or at a separate Builds @ builds.getnightingale.com (that would allow the possibility of using separate FTP hosting at a later date) with subdirs /nightly/ and /release/"

Do you want builds hosted at the separate URL? If so then I will point buildbot.getnightingale.com directly at the BuildBot instance, but if not then I will leave it like it currently is (a frontpage that links to port 8010 for the BuildBot instance and a subdir for the builds).
(04-29-2011, 01:08 AM)pythonian4000 Wrote: [ -> ]Cheers stevo, point it at the IP that ngale.jackgrigg.com resolves to.

Also (from my comment I eventually got posted):
"And either host the builds there or at a separate Builds @ builds.getnightingale.com (that would allow the possibility of using separate FTP hosting at a later date) with subdirs /nightly/ and /release/"

Do you want builds hosted at the separate URL? If so then I will point buildbot.getnightingale.com directly at the BuildBot instance, but if not then I will leave it like it currently is (a frontpage that links to port 8010 for the BuildBot instance and a subdir for the builds).

Oh yes, we can host the builds at the hosting service as we have unlimited bandwidth/space on it.
Just to let forums users that we still have a buildbot that I wrote along with @ilikenwf to replace @pythonian4000 work.

http://wiki.getnightingale.com/doku.php?id=build:bot

EmilyBindon

Now a days bot are very in, i think its compulsory for these forum or organization to have these auto bots to work very well.
Pages: 1 2