We have a buildbot
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
Can't say I'm ready to deploy the buildbot yet, but it's coming along.
http://armabuilder.davefancella.com/waterfall
As you can see, the first attempt to upload the distribution (a source distribution, in this case) failed. The second attempt mostly succeeded, but because of a syntax error in the builder, it didn't get saved with the correct filename.
http://armabuilder.davefancella.com/dow ... ork/linux/
As you can see.
I've reconfigured to see if it can build the trunk (since I merged from 0.4 to trunk today). Curious to see what it'll look like. That build should be happening at 10am CST. I also fixed the filename problem.
Ideally the next step is to set up Z-man's windows cross-compiling using wine. Basically, once I get that working, even with only the buildslaves I have, I'll deploy.
Edit:
Just modified the builder stuff to accommodate different branches when the release gets uploaded to the server.
http://armabuilder.davefancella.com/waterfall
As you can see, the first attempt to upload the distribution (a source distribution, in this case) failed. The second attempt mostly succeeded, but because of a syntax error in the builder, it didn't get saved with the correct filename.
http://armabuilder.davefancella.com/dow ... ork/linux/
As you can see.
I've reconfigured to see if it can build the trunk (since I merged from 0.4 to trunk today). Curious to see what it'll look like. That build should be happening at 10am CST. I also fixed the filename problem.
Ideally the next step is to set up Z-man's windows cross-compiling using wine. Basically, once I get that working, even with only the buildslaves I have, I'll deploy.
Edit:
Just modified the builder stuff to accommodate different branches when the release gets uploaded to the server.
Re: We have a buildbot
I got an Ubuntu/Debian Server. At home I still have an old Laptop with Windows 7. It could be used aswell but I can not let it turned on all the time.Lucifer wrote:For what platform?Jip wrote:I also can offer a build slave if needed.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
What version is the server? If it's the same version as mine, we'll put it on the same builder and let it be a redundant slave.Jip wrote:I got an Ubuntu/Debian Server. At home I still have an old Laptop with Windows 7. It could be used aswell but I can not let it turned on all the time.Lucifer wrote:For what platform?Jip wrote:I also can offer a build slave if needed.
It would be worthwhile, if you're willing to help me with it, if we get the laptop with windows 7 able to function as a slave, and even get it into the system so that if it's on when a build is needed, it can build, but otherwise not rely on it. But if we can get a solid buildslave configuration from it, then someone who can offer a 24/7 windows machine as a buildslave can just hook right up.
To do the Ubuntu one, you just need to install the buildbot package, create a slave, and send me the user & pass you set up. And, of course, be able to build arma on the server already. And point it at armabuilder.davefancella.com . (I'm having trouble getting to my router, so it may be a few days before I can log back in and open the port. It's kind of flighty, that router is)
Re: We have a buildbot
Lucifer wrote: What version is the server? If it's the same version as mine, we'll put it on the same builder and let it be a redundant slave.
It would be worthwhile, if you're willing to help me with it, if we get the laptop with windows 7 able to function as a slave, and even get it into the system so that if it's on when a build is needed, it can build, but otherwise not rely on it. But if we can get a solid buildslave configuration from it, then someone who can offer a 24/7 windows machine as a buildslave can just hook right up.
To do the Ubuntu one, you just need to install the buildbot package, create a slave, and send me the user & pass you set up. And, of course, be able to build arma on the server already. And point it at armabuilder.davefancella.com . (I'm having trouble getting to my router, so it may be a few days before I can log back in and open the port. It's kind of flighty, that router is)
Code: Select all
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.4 LTS
Release: 10.04
Codename: lucid
On my windows laptop I used to build the client with Code::Blocks (0.2.8x and 0.4). Haven't tried for a year though.
If you can provide me some links on how to setup a windows slave, I would try to set it up this weekend.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
Pretty old server, eh? It's up to you if you want to set it up now as a buildslave or wait until you switch to Debian. To build the client, you'd wind up installing all the UI crap that's usually out of place on a server. You don't have to do that, you can just build the dedicated server if you want.Jip wrote:I will resetup the server soon and will switch to debian. I never tried to build the client on it but the server builds are working without a problem.Code: Select all
# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid
On my windows laptop I used to build the client with Code::Blocks (0.2.8x and 0.4). Haven't tried for a year though.
If you can provide me some links on how to setup a windows slave, I would try to set it up this weekend.
For Windows:
http://trac.buildbot.net/wiki/RunningBuildbotOnWindows
Also, is it possible to have the laptop automatically turn on at certain times, then shut down when it's done? It's scheduled nightly builds, so if you can do that, you can have it come on, say, half an hour before it's needed, then let it run for the hour or so it takes to build, and then turn off.
Re: We have a buildbot
Yeah, pretty oldLucifer wrote:Pretty old server, eh? It's up to you if you want to set it up now as a buildslave or wait until you switch to Debian. To build the client, you'd wind up installing all the UI crap that's usually out of place on a server. You don't have to do that, you can just build the dedicated server if you want.Jip wrote:I will resetup the server soon and will switch to debian. I never tried to build the client on it but the server builds are working without a problem.Code: Select all
# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid
On my windows laptop I used to build the client with Code::Blocks (0.2.8x and 0.4). Haven't tried for a year though.
If you can provide me some links on how to setup a windows slave, I would try to set it up this weekend.
For Windows:
http://trac.buildbot.net/wiki/RunningBuildbotOnWindows
Also, is it possible to have the laptop automatically turn on at certain times, then shut down when it's done? It's scheduled nightly builds, so if you can do that, you can have it come on, say, half an hour before it's needed, then let it run for the hour or so it takes to build, and then turn off.
I think I will wait until I switched to the new server. For the windows machine, I will try to work something out.
And to take it a bit further. It would be nice to rework the arma website, that the nightly builds can be accessed easily. Like years back on beta.armagetron.net
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
Ultimately, I'll have a beta.davefancella.com site for accessing the builds. That'll be after I move the buildmaster to nsh22's vps.Jip wrote:Yeah, pretty old
I think I will wait until I switched to the new server. For the windows machine, I will try to work something out.
And to take it a bit further. It would be nice to rework the arma website, that the nightly builds can be accessed easily. Like years back on beta.armagetron.net
Re: We have a buildbot
Could you describe more detailed how your setup worked? Would be nice to have a cross compilation solution.Z-Man wrote:Wouldn't it be less work intensive if I checked how the build process I have been using for a while works? It was running in nice, stable virtual machines and used cross compilation via Wine for the Windows builds. Of course, I expect the Windows builds to be badly broken at this point.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
Wholeheartedly agree. We can usually get Linux servers, Linux builders, whatever you want to call them. Windows, not so easy to come by.Jip wrote:Could you describe more detailed how your setup worked? Would be nice to have a cross compilation solution.Z-Man wrote:Wouldn't it be less work intensive if I checked how the build process I have been using for a while works? It was running in nice, stable virtual machines and used cross compilation via Wine for the Windows builds. Of course, I expect the Windows builds to be badly broken at this point.
So if we can do this without needing an actual flesh and blood windows computer, we should.
Re: We have a buildbot
Is there an easy way to automate building the C::B source? Also, the Launchpad didn't come with all the extra stuff you need like FTGL, SDL, etc. I guess you could steal it from another though.Lucifer wrote:Wholeheartedly agree. We can usually get Linux servers, Linux builders, whatever you want to call them. Windows, not so easy to come by.Jip wrote:Could you describe more detailed how your setup worked? Would be nice to have a cross compilation solution.Z-Man wrote:Wouldn't it be less work intensive if I checked how the build process I have been using for a while works? It was running in nice, stable virtual machines and used cross compilation via Wine for the Windows builds. Of course, I expect the Windows builds to be badly broken at this point.
So if we can do this without needing an actual flesh and blood windows computer, we should.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
That is PRECISELY what I'm working on. The extra stuff has to be put in a place where buildslaves can get to it, but other than that minor technical issue, this is precisely what I'm working on..Light wrote: Is there an easy way to automate building the C::B source? Also, the Launchpad didn't come with all the extra stuff you need like FTGL, SDL, etc. I guess you could steal it from another though.
Except, I'm not looking just to automate building the C::B source, I'm looking to create a tool that all developers can use to keep builds stable. It gets more complex than that, and is largely technical/irrelevant.
To end-users, I'm looking to restore nightly builds by distributing the work amongst whoever volunteers computers. Previously, Z-man's nightly builds were awesome, and when he (for whatever reason) was unable tom aintain them, they disappeared. I'm looking at a configuration that anybody could take over, but the buildmaster will be in a reliable place. So the likelihood of nightly builds being interupted should drop significantly (although not permanently, I ran a buildbot before, and then I stopped running it, so take everything I've said with a grain of salt)
Re: We have a buildbot
I've thought about doing it before but I didn't know how to do it via command line in Windows. I'm a Linux user in some weird world where my bash is gone. lol Why can't Win just use nice little easy makefiles? lolLucifer wrote:That is PRECISELY what I'm working on. The extra stuff has to be put in a place where buildslaves can get to it, but other than that minor technical issue, this is precisely what I'm working on..Light wrote: Is there an easy way to automate building the C::B source? Also, the Launchpad didn't come with all the extra stuff you need like FTGL, SDL, etc. I guess you could steal it from another though.
Anyways .. figuring out how to automate to distributing it is a small step. The automating is the tougher part. I could make this in Linux easy. Well, I wasn't thinking about a master and whatnot, just script running to check the newest version, download, build, and upload.
Maybe I'll look into it more on Windows. I should start learning some of this shit anyways since I'll probably be using it more. Feel sad about saying that.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Re: We have a buildbot
I'm hoping when Z-man finally posts here that he's going to post his bash script for cross-compiling using wine and C::B, and with minimal instructions on where to put the libs needed (and a list of libs that need to be built first, if any). Then I'll adapt that shell script to create a Builder for buildbot, create a buildslave to test it, and then probably make a zip file with a working buildslave configuration and instructions on how to set it up.Light wrote: I've thought about doing it before but I didn't know how to do it via command line in Windows. I'm a Linux user in some weird world where my bash is gone. lol Why can't Win just use nice little easy makefiles? lol
Anyways .. figuring out how to automate to distributing it is a small step. The automating is the tougher part. I could make this in Linux easy. Well, I wasn't thinking about a master and whatnot, just script running to check the newest version, download, build, and upload.
Maybe I'll look into it more on Windows. I should start learning some of this shit anyways since I'll probably be using it more. Feel sad about saying that.
If you were to make a batch file that likewise builds the game using C::B, I would want that and also basic instructions on where to put the libs, and then I'd adapt it to make a native Windows buildslave.
And do the rest of the stuff with it, as well.
As for building an installer, we only do that for releases. So the nightly builds will be a zip file that you unzip, and then just run armagetron from inside it. The same directory structure is used for everything, so making a script to do it should be pretty straightforward, including a batch file if need be. Those will need to be in the source checkout, if they aren't already, so as soon as they're made (or provided by Z-man), I'll do whatever is necessary to get it where it needs to be.
After all of that, if we're going to use the buildbot for releases, then I'll probably create new Builders for the installers and do some buildbot magic to make them work. But that's a ways away. It would be nice, though, to say "We're going to be building the 0.4 release at <this time>" and then trigger the buildbot to build all of the distributables at that time.
Re: We have a buildbot
I was thinking to release as a portable app for Windows. It will still use the %appdata% directory and all, just look all pretty with a single executable file instead of installing or providing all the files (visible anyways).Lucifer wrote: I'm hoping when Z-man finally posts here that he's going to post his bash script for cross-compiling using wine and C::B, and with minimal instructions on where to put the libs needed (and a list of libs that need to be built first, if any). Then I'll adapt that shell script to create a Builder for buildbot, create a buildslave to test it, and then probably make a zip file with a working buildslave configuration and instructions on how to set it up.
If you were to make a batch file that likewise builds the game using C::B, I would want that and also basic instructions on where to put the libs, and then I'd adapt it to make a native Windows buildslave.
And do the rest of the stuff with it, as well.
As for building an installer, we only do that for releases. So the nightly builds will be a zip file that you unzip, and then just run armagetron from inside it. The same directory structure is used for everything, so making a script to do it should be pretty straightforward, including a batch file if need be. Those will need to be in the source checkout, if they aren't already, so as soon as they're made (or provided by Z-man), I'll do whatever is necessary to get it where it needs to be.
After all of that, if we're going to use the buildbot for releases, then I'll probably create new Builders for the installers and do some buildbot magic to make them work. But that's a ways away. It would be nice, though, to say "We're going to be building the 0.4 release at <this time>" and then trigger the buildbot to build all of the distributables at that time.
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Re: We have a buildbot
Thinking about it, it might be possible to setup a linux native cross-compile environment, e.g. i686-pc-mingw32-gnu-gcc. I've done it before for small binaries, but not for something as large as Armagetron. It would let you use all the nice linux native autotools though.