Jump to content


Photo

Nightly Build


  • Please log in to reply
13 replies to this topic

#1 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 12 December 2005 - 05:22 PM

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 nightlybuild@projectxenocide.com
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
Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.

#2 stewart

stewart

    Programming Department

  • [Xenocide Senior Members]
  • 10,529 posts

Posted 12 December 2005 - 07:13 PM

Cant you access SVN form DOS scripting?
Posted Image
I'm starting to like the heavy cannon more and more.

#3 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 12 December 2005 - 08:08 PM

Nope it requires special support to do so.

Greetings
Red Knight
Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.

#4 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 12 December 2005 - 09:52 PM

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
Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.

#5 dteviot

dteviot

    Programming Department

  • [Xenocide Senior Members]
  • 1,479 posts

Posted 13 December 2005 - 12:26 PM

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 nightlybuild@projectxenocide.com
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

<{POST_SNAPBACK}>

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.
Saving the world from the scum of the universe is hard work. Especially when you have to create the scum to begin with.

#6 dteviot

dteviot

    Programming Department

  • [Xenocide Senior Members]
  • 1,479 posts

Posted 13 December 2005 - 12:39 PM

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

<{POST_SNAPBACK}>

Windows comes with a command line FTP program. http://www.microsoft.../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.
Saving the world from the scum of the universe is hard work. Especially when you have to create the scum to begin with.

#7 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 13 December 2005 - 01:17 PM

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, 13 December 2005 - 01:22 PM.

Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.

#8 rincewind

rincewind

    Programming Department

  • Xenocide Programming Department
  • 541 posts

Posted 13 December 2005 - 05:07 PM

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
Posted Image

I love boost!!! The next best thing since the invention of C++.

#9 Darkhomb

Darkhomb

    Captain

  • Xenocide Artwork Department
  • 628 posts

Posted 13 December 2005 - 05:23 PM

You don't just have to use windows ftp to use commands most ftp programs have commands built in or have the option to type your own raw commands

Attached Files

  • Attached File  ftp.JPG   46.3K   88 downloads


#10 reist

reist

    Programming Department

  • Xenocide Programming Department
  • 130 posts

Posted 14 December 2005 - 06:29 AM

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

<{POST_SNAPBACK}>

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 ;)

#11 mindstormmaster

mindstormmaster

    Programming Department

  • [Xenocide Senior Members]
  • 402 posts

Posted 17 December 2005 - 02:41 AM

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?
Posted Image

#12 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 19 December 2005 - 07:47 PM

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
Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.

#13 Beetle

Beetle

    Programming Department

  • Xenocide Inactive
  • 350 posts

Posted 05 January 2006 - 04:37 PM

Maybe we can also build documentation at that nighly builds?
Posted Image

#14 red knight

red knight

    Xenocide Project Leader

  • Xenocide Inactive
  • 3,310 posts

Posted 06 January 2006 - 05:32 PM

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
Sourceforge Nick: flois - Federico Andres Lois
Visit my blog at: flois.blogspot.com

Posted Image

Pookie cover me, I am going in.