Jump to content
XCOMUFO & Xenocide

Nightly Build


red knight

Recommended Posts

I asked permission in my company to get a Virtual Machine running Windows 2003 to do the compilation of the nightly build for Xenocide; and they gladly accepted to provide me with an isolated server to do so.

 

Now for that to be done I need several volunteers to have it running as soon as posible.

 

The task list to accomplish it is:

 

1) We need to research build systems like NAnt, Cruise Control or whatever is there to do Continuous integration that support SVN.

2) Modification of the updater application coded in C# to do the instalation of the dependencies package only when things change and in an automated way (in a fixed directory).

3) From the build systems selected, code the required tasks script.

3.1) Get the source from SVN (afresh)

3.2) Get the dependencies package if there is a new one and install it if required (delete the ones that are there if needed).

3.3) Compile using the commandline tools for both debug and release.

3.4) Zip it

3.5) Upload to the xenocide server.

3.6) Send a positive or negative mail to [email protected]

3.7) Delete the Xenocide source to leave everything ready for the next build.

 

Task 1 and 2 can be done in parallel, while 3 needs one to be done. I need volunteers to do this as soon as posible. This is an excelent oportunity for recruits to work along with their respective mentors to accomplish a very important task.

 

Greetings

Red Knight

Link to comment
Share on other sites

Ok, I am almost done writing the script for CruiseControl.Net . Currently it downloads the source from SVN and compiles it; for now it is usable, but the dependency automatic update is something that has to be done for complete integration.

 

Tomorrow morning I will tell the IT specialist at work if he can start the instalation of the new server. What it is still missing is a small application to do the FTP upload and a task to create the zip file to upload.

 

Greetings

Red Knight

Link to comment
Share on other sites

I asked permission in my company to get a Virtual Machine running Windows 2003 to do the compilation of the nightly build for Xenocide; and they gladly accepted to provide me with an isolated server to do so.

 

Now for that to be done I need several volunteers to have it running as soon as posible.

 

The task list to accomplish it is:

 

1) We need to research build systems like NAnt, Cruise Control or whatever is there to do Continuous integration that support SVN.

2) Modification of the updater application coded in C# to do the instalation of the dependencies package only when things change and in an automated way (in a fixed directory).

3) From the build systems selected, code the required tasks script.

3.1) Get the source from SVN (afresh)

3.2) Get the dependencies package if there is a new one and install it if required (delete the ones that are there if needed).

3.3) Compile using the commandline tools for both debug and release.

3.4) Zip it

3.5) Upload to the xenocide server.

3.6) Send a positive or negative mail to [email protected]

3.7) Delete the Xenocide source to leave everything ready for the next build.

 

Task 1 and 2 can be done in parallel, while 3 needs one to be done. I need volunteers to do this as soon as posible. This is an excelent oportunity for recruits to work along with their respective mentors to accomplish a very important task.

 

Greetings

Red Knight

Might I suggest that task 3.7 should really be done as the first task of any build.

You will want to keep the source around because if the build fails, you want to inspect the source to find out what went wrong.

Link to comment
Share on other sites

What it is still missing is a small application to do the FTP upload and a task to create the zip file to upload.

 

Greetings

Red Knight

Windows comes with a command line FTP program. http://www.microsoft.com/resources/documen.../en-us/ftp.mspx

 

As regards the zip file, you could use 7-zip, which provides a command line interface.

 

Or am I not understanding your request.

Link to comment
Share on other sites

You are right at 3.7, but it turned out that the build system do updates instead of checkouts. About the ZIP I want to do 2 different ones, an incremental one (things that changed) and a complete one. At first we will do a complete one, but I want to check the posibility of doing incremental ones too (but for that I need a custom tool).

 

Didnt know that FTP can be used as a command line tool too, excelent will have everything ready (except the modification for the commandline version of the package updater) in 2 to 3 days.

 

Greetings

Red Knight

Edited by red knight
Link to comment
Share on other sites

About the commandline tool, there's a command-line switch to the windows-ftp that allows you to specify a file that contains ftp-commands. That should do the trick.

 

"ftp -?" gives you a help screen. Kind of weird as with win32 progs it's usually /?

 

Rincewind

Link to comment
Share on other sites

"ftp -?" gives you a help screen. Kind of weird as with win32 progs it's usually /?

Well, microsoft copied more then just the whole tcp stack from bsd. They modified it all since, but it seems no one thought of changing some things...like say, *nix syntax ;)

Link to comment
Share on other sites

Can I also suggest emailing the complete build log as part of the end email? And perhaps looking into optionally testing previous revisions if the latest doesn't compile. Like go back one revision if the current fails, this could help us track down the offending commit (and committer).

 

As for the uploading the latest, what do you think about using the date as part of the filename, so we can keep several days of build around? Do we want to use the installer for the nightly builds, or is a simple zip good enough?

Link to comment
Share on other sites

This is nightly build, I want to have some sort of patching (file granularity) but if you can make the patch system work automated, be my guest :D ...

 

I can do most of that, and yes the email is in the works and the multiple builds thing too.

 

Greetings

Red Knight

Link to comment
Share on other sites

  • 3 weeks later...

Yes, that can be done too. Just add it to the script ;).

 

BTW I had been on vacations with lots of things to do, plus my girlfriend in house so it has been pretty difficult to follow the progress on Xenocide these days. I will try to get a couple hours to get up to speed on what has been going on.

 

Greetings

Red Knight

Link to comment
Share on other sites

×
×
  • Create New...