Re: [Flightgear-devel] Release engineering (aka, continuous integration, aka, nightlies)

2010-04-17 Thread James Turner

On 17 Apr 2010, at 04:20, Tom P wrote:

> That's an awesome setup, very interesting.
> 
> Would you have a tarball of this configuration and some details of how you 
> set up the system?

Quick answer is no, not yet, but I will. The configuration is exportable as XML 
files, and I'm using the official Hudson apt-get package for Ubuntu, so it's a 
fairly repeatable setup. Configuring the Windows slave VM with mingw is proving 
the biggest hassle - I have OSG working, but am having the usual environment 
issues building SimGear (the Hudson user environment/shell are set in a 
different way to a cmd.exe shell, or so it always seems)

The Mac build is pretty close to producing a nightly, though - there I need to 
fix a genuine (and long-standing) configuration issue on Mac. In general, I 
find such systems are good for capturing how repeatable a build process is - 
and my experience on each of the Linux/mac/Windows slaves seems to confirm this 
:)

James


--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Release engineering (aka, continuous integration, aka, nightlies)

2010-04-16 Thread Scott Hamilton

Hudson was a Sun sponsored java.net project, the license is described
as;


Most of the art work is derived from Tango Project, and thus
this portion of Hudson is covered by their license (Creative
Commons Attribution Share-Alike license). The rest (that is, all
the code, documents, build scripts, etc.) is covered by the MIT
license, unless otherwise stated in individual files.


For JEE coders, there is integration into the NetBeans IDE and so it is
often run within the Glassfish application server. 
The administration is quite easy compared to some other systems, you
just deploy it and run...


S.




> On Sat, 2010-04-17 at 14:21 +1000, George Patterson wrote:
> 
> 
> Hi James,
> 
> That looks very nice. I appreciate the self explained interface.
> 
> What's the license for Hudson?
> 
> Regards
> 
> 
> George
> 
> On Sat, Apr 17, 2010 at 1:20 PM, Tom P  wrote:
> > Hi James,
> >
> > That's an awesome setup, very interesting.
> >
> > Would you have a tarball of this configuration and some details of how you
> > set up the system?
> >
> >   Tom
> >
> > On Mon, Apr 12, 2010 at 2:50 AM, James Turner  wrote:
> >>
> >> http://zakalawe.ath.cx:8080/
> >>
> >> is a *prototype* build server for FG (including OSG and SimGear), running
> >> on my home box - it will need a proper home if it moves beyond the 
> >> prototype
> >> stage.
> >>
> >> For people who don't know, a build server talks to some slaves, and
> >> grabs/builds/tests/packages code. The current server is talking to one
> >> slave, which is an Ubuntu VM which is building  Tim's 'next' branch on
> >> Gitorious.
> >>
> >> The objective of such systems is that there should be *zero* human steps
> >> to create a release - not just out of laziness, but for repeatability. I.e
> >> don't write a checklist or 'howto' of creating a release, write a shell
> >> script that does the steps. (Or several). And check those scripts into a
> >> source control system, too.
> >>
> >> 'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully
> >> this will even extend to a NSIS installer script, if Fred has one lying
> >> around. At which point we should have nightly installers available for
> >> Windows, and a happier Fred. (A VisualStudio build is also possible, but
> >> requires more interaction with someone else, who has an
> >> externally-addressable/tunnel-able box with VS installed).
> >>
> >> (any slave could be a VM, of course - they use CPU while building, but
> >> unlike other projects, our commit rate isn't that high - the slaves will be
> >> idle most of the time)
> >> (A Mac slave is also possible, but requires some more work, I will worry
> >> about it assuming people want to pursue this whole concept)
> >>
> >> Build jobs can run arbitrary shell scripts - they can tag things in CVS or
> >> Git, they can create tarballs, upload files to SFTP/FTP servers, the works.
> >> So, if Durk/Curt/Fred could codify, somewhere, the steps (in terms of
> >> 'things doable in a shell/.bat script') to create an FG pre-release and
> >> final-release, I am happy to do the work to get the process automated.
> >>
> >> At which point, doing a release means clicking a button on a webpage (on
> >> Hudson), and letting the slaves grind away for an hour or so. Magic!
> >>
> >> (Another thing the server can do, is email/IRC people when the build
> >> breaks on Linux / FreeBSD / Mac / Win due to a commit - obviously very 
> >> handy
> >> for the devs. Yet another thing it can do is run test suites - 
> >> unfortunately
> >> we don't have many such tests)
> >>
> >> (If anyone wants to get into providing nightly .debs or .rpms, that could
> >> also be done, but requires people who know those systems, and again can
> >> provide a suitable externally address slave to run the builds)
> >>
> >> James
> >>
> >>
> >>
> >> --
> >> Download Intel® Parallel Studio Eval
> >> Try the new software tools for yourself. Speed compiling, find bugs
> >> proactively, and fine-tune applications for parallel performance.
> >> See why Intel Parallel Studio got high marks during beta.
> >> http://p.sf.net/sfu/intel-sw-dev
> >> ___
> >> Flightgear-devel mailing list
> >> Flightgear-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
> >
> >
> > --
> > Download Intel® Parallel Studio Eval
> > Try the new software tools for yourself. Speed compiling, find bugs
> > proactively, and fine-tune applications for parallel performance.
> > See why Intel Parallel Studio got high marks during beta.
> > http://p.sf.net/sfu/intel-sw-dev
> > ___
> > Flightgear-devel mailing list
> > Flightgear-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/flightgear-devel
> >

Re: [Flightgear-devel] Release engineering (aka, continuous integration, aka, nightlies)

2010-04-16 Thread George Patterson
Hi James,

That looks very nice. I appreciate the self explained interface.

What's the license for Hudson?

Regards


George

On Sat, Apr 17, 2010 at 1:20 PM, Tom P  wrote:
> Hi James,
>
> That's an awesome setup, very interesting.
>
> Would you have a tarball of this configuration and some details of how you
> set up the system?
>
>   Tom
>
> On Mon, Apr 12, 2010 at 2:50 AM, James Turner  wrote:
>>
>> http://zakalawe.ath.cx:8080/
>>
>> is a *prototype* build server for FG (including OSG and SimGear), running
>> on my home box - it will need a proper home if it moves beyond the prototype
>> stage.
>>
>> For people who don't know, a build server talks to some slaves, and
>> grabs/builds/tests/packages code. The current server is talking to one
>> slave, which is an Ubuntu VM which is building  Tim's 'next' branch on
>> Gitorious.
>>
>> The objective of such systems is that there should be *zero* human steps
>> to create a release - not just out of laziness, but for repeatability. I.e
>> don't write a checklist or 'howto' of creating a release, write a shell
>> script that does the steps. (Or several). And check those scripts into a
>> source control system, too.
>>
>> 'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully
>> this will even extend to a NSIS installer script, if Fred has one lying
>> around. At which point we should have nightly installers available for
>> Windows, and a happier Fred. (A VisualStudio build is also possible, but
>> requires more interaction with someone else, who has an
>> externally-addressable/tunnel-able box with VS installed).
>>
>> (any slave could be a VM, of course - they use CPU while building, but
>> unlike other projects, our commit rate isn't that high - the slaves will be
>> idle most of the time)
>> (A Mac slave is also possible, but requires some more work, I will worry
>> about it assuming people want to pursue this whole concept)
>>
>> Build jobs can run arbitrary shell scripts - they can tag things in CVS or
>> Git, they can create tarballs, upload files to SFTP/FTP servers, the works.
>> So, if Durk/Curt/Fred could codify, somewhere, the steps (in terms of
>> 'things doable in a shell/.bat script') to create an FG pre-release and
>> final-release, I am happy to do the work to get the process automated.
>>
>> At which point, doing a release means clicking a button on a webpage (on
>> Hudson), and letting the slaves grind away for an hour or so. Magic!
>>
>> (Another thing the server can do, is email/IRC people when the build
>> breaks on Linux / FreeBSD / Mac / Win due to a commit - obviously very handy
>> for the devs. Yet another thing it can do is run test suites - unfortunately
>> we don't have many such tests)
>>
>> (If anyone wants to get into providing nightly .debs or .rpms, that could
>> also be done, but requires people who know those systems, and again can
>> provide a suitable externally address slave to run the builds)
>>
>> James
>>
>>
>>
>> --
>> Download Intel® Parallel Studio Eval
>> Try the new software tools for yourself. Speed compiling, find bugs
>> proactively, and fine-tune applications for parallel performance.
>> See why Intel Parallel Studio got high marks during beta.
>> http://p.sf.net/sfu/intel-sw-dev
>> ___
>> Flightgear-devel mailing list
>> Flightgear-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>
>
> --
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> ___
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>
>

--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Release engineering (aka, continuous integration, aka, nightlies)

2010-04-16 Thread Tom P
Hi James,

That's an awesome setup, very interesting.

Would you have a tarball of this configuration and some details of how you
set up the system?

  Tom

On Mon, Apr 12, 2010 at 2:50 AM, James Turner  wrote:

> http://zakalawe.ath.cx:8080/
>
> is a *prototype* build server for FG (including OSG and SimGear), running
> on my home box - it will need a proper home if it moves beyond the prototype
> stage.
>
> For people who don't know, a build server talks to some slaves, and
> grabs/builds/tests/packages code. The current server is talking to one
> slave, which is an Ubuntu VM which is building  Tim's 'next' branch on
> Gitorious.
>
> The objective of such systems is that there should be *zero* human steps to
> create a release - not just out of laziness, but for repeatability. I.e
> don't write a checklist or 'howto' of creating a release, write a shell
> script that does the steps. (Or several). And check those scripts into a
> source control system, too.
>
> 'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully
> this will even extend to a NSIS installer script, if Fred has one lying
> around. At which point we should have nightly installers available for
> Windows, and a happier Fred. (A VisualStudio build is also possible, but
> requires more interaction with someone else, who has an
> externally-addressable/tunnel-able box with VS installed).
>
> (any slave could be a VM, of course - they use CPU while building, but
> unlike other projects, our commit rate isn't that high - the slaves will be
> idle most of the time)
> (A Mac slave is also possible, but requires some more work, I will worry
> about it assuming people want to pursue this whole concept)
>
> Build jobs can run arbitrary shell scripts - they can tag things in CVS or
> Git, they can create tarballs, upload files to SFTP/FTP servers, the works.
> So, if Durk/Curt/Fred could codify, somewhere, the steps (in terms of
> 'things doable in a shell/.bat script') to create an FG pre-release and
> final-release, I am happy to do the work to get the process automated.
>
> At which point, doing a release means clicking a button on a webpage (on
> Hudson), and letting the slaves grind away for an hour or so. Magic!
>
> (Another thing the server can do, is email/IRC people when the build breaks
> on Linux / FreeBSD / Mac / Win due to a commit - obviously very handy for
> the devs. Yet another thing it can do is run test suites - unfortunately we
> don't have many such tests)
>
> (If anyone wants to get into providing nightly .debs or .rpms, that could
> also be done, but requires people who know those systems, and again can
> provide a suitable externally address slave to run the builds)
>
> James
>
>
>
> --
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> ___
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>
--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


[Flightgear-devel] Release engineering (aka, continuous integration, aka, nightlies)

2010-04-12 Thread James Turner
http://zakalawe.ath.cx:8080/

is a *prototype* build server for FG (including OSG and SimGear), running on my 
home box - it will need a proper home if it moves beyond the prototype stage.

For people who don't know, a build server talks to some slaves, and 
grabs/builds/tests/packages code. The current server is talking to one slave, 
which is an Ubuntu VM which is building  Tim's 'next' branch on Gitorious.

The objective of such systems is that there should be *zero* human steps to 
create a release - not just out of laziness, but for repeatability. I.e don't 
write a checklist or 'howto' of creating a release, write a shell script that 
does the steps. (Or several). And check those scripts into a source control 
system, too. 

'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully this 
will even extend to a NSIS installer script, if Fred has one lying around. At 
which point we should have nightly installers available for Windows, and a 
happier Fred. (A VisualStudio build is also possible, but requires more 
interaction with someone else, who has an externally-addressable/tunnel-able 
box with VS installed).

(any slave could be a VM, of course - they use CPU while building, but unlike 
other projects, our commit rate isn't that high - the slaves will be idle most 
of the time)
(A Mac slave is also possible, but requires some more work, I will worry about 
it assuming people want to pursue this whole concept)

Build jobs can run arbitrary shell scripts - they can tag things in CVS or Git, 
they can create tarballs, upload files to SFTP/FTP servers, the works. So, if 
Durk/Curt/Fred could codify, somewhere, the steps (in terms of 'things doable 
in a shell/.bat script') to create an FG pre-release and final-release, I am 
happy to do the work to get the process automated.

At which point, doing a release means clicking a button on a webpage (on 
Hudson), and letting the slaves grind away for an hour or so. Magic!

(Another thing the server can do, is email/IRC people when the build breaks on 
Linux / FreeBSD / Mac / Win due to a commit - obviously very handy for the 
devs. Yet another thing it can do is run test suites - unfortunately we don't 
have many such tests)

(If anyone wants to get into providing nightly .debs or .rpms, that could also 
be done, but requires people who know those systems, and again can provide a 
suitable externally address slave to run the builds)

James


--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel