You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-dev@incubator.apache.org by Evan Worley <ev...@gmail.com> on 2007/06/15 06:06:22 UTC

continuous build machine for NMaven?

What do people think about getting a continuous build machine setup for
NMaven?  I believe Maven is currently being build by Continuum.  Is there a
preference between Continuum and CruiseControl?

Evan

RE: continuous build machine for NMaven?

Posted by "Deacon, Brian" <Br...@intuit.com>.
I would prefer continuum as well, because my project will likely go that
way, and I'd like y'all to sort out the kinks for me.  :)

Since the environments are really so different, maybe swapping out the
nmaven-settings.xml file isn't the best approach.  Maybe three vmware
instances running windows, linux, solaris, and each of them just have
different nmaven-settings.xml files on them (or executed with a
different -Dnmaven.settings value)

Brian 

-----Original Message-----
From: Shane Isbell [mailto:shane.isbell@gmail.com] 
Sent: Friday, June 15, 2007 9:00 AM
To: nmaven-dev@incubator.apache.org
Subject: Re: continuous build machine for NMaven?

Currently, that is correct, so it's the best place to start. In the
future, we will have integration tests specific to Mono Linux, Mono
Solaris, etc, as well as Windows What I see is that we need to create an
integration testing component that can read the build platform
capabilities, match those to the build requirements and determine which
tests to run. In some cases, the integration testing component may
choose to ignore certain tests if the build platform could not support
them. In this way, someone can create a target platform and run the
integration tests to see if NMaven will run on that specific platform.

Shane

On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
>
> Even with the nmaven.settings.xml, we would still need a Windows 
> machine in order to run all of the integration tests, correct?
>
> On 6/15/07, Shane Isbell <sh...@gmail.com> wrote:
> >
> > The motivating reason for adding the nmaven-settings.xml was to 
> > support integration testing. As I added integration tests, it became

> > time consuming to create the same tests for Mono, Windows and 
> > dotGNU. That also did not take into account using of different 
> > frameworks (2 and now 3 for
> Microsoft
> > and more for Mono, with its various vendor versions).
> >
> > For a single build machine, what Continuum or CruiseControl would 
> > need
> to
> > be
> > able to do is to swap out the nmaven-settings.xml file (using the - 
> > Dnmaven.settings=<file_path> option) and run IT tests for each 
> > settings file.  This allows, say installing multiple versions of 
> > Mono that we claim NMaven supports and testing out each version with
a separate pass.
> >
> > This also brings about another area that we need to look into with 
> > bringing NMaven and Maven closer together:  the nmaven-settings.xml 
> > file
> describes
> > the platform capabilities, which is another word for profile, albeit

> > a more descriptive one.
> >
> > Shane
> >
> >
> > On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
> > >
> > > That all sounds great.  The profiles solution for platform 
> > > specific
> > tests
> > > would work as well, though ideally we could setup an environment 
> > > which
> > was
> > > able to run all the integration tests.
> > >
> > > I agree that the most important thing is to get this started,
> compiling
> > > the
> > > code, and running the unit tests.  Once we get that baseline we 
> > > can
> > slowly
> > > roll out more features, like the integration tests, code coverage,
> etc.
> > >
> > > -Evan
> > >
> > > On 6/15/07, Brett Porter <br...@apache.org> wrote:
> > > >
> > > >
> > > > On 15/06/2007, at 5:19 PM, Evan Worley wrote:
> > > >
> > > > > When you say "we don't have the software installed" are you 
> > > > > referring to the required frameworks for the integration tests

> > > > > (Microsoft .NET platform for example)?
> > > >
> > > > That's right.
> > > >
> > > > >
> > > > > I believe the only operating system that is capable of passing

> > > > > all integration tests in Windows, due to MS .net platform only

> > > > > being available for windows.
> > > >
> > > > Right - I'll look into this.
> > > >
> > > > >
> > > > > Another option is to refine our testing strategy to enable 
> > > > > functional/unit tests to be easily written for maven plugins.

> > > > > If this were possible (maybe it is and I just don't know how),

> > > > > then we could rely on these
> tests
> > > > > to be
> > > > > ran and rely less on the Continuum server running the 
> > > > > integration tests.
> > > >
> > > > Ideally, both types of tests would run in a continuous 
> > > > integration server, with the unit tests not relying on any 
> > > > frameworks, and the integration tests running under a profile 
> > > > that is only done on platforms that support them.
> > > >
> > > > The most important step is that we get the code compiling and 
> > > > the unit tests running that can so far, so we can probably start

> > > > adding projects to the existing instance where that's possible.
> > > >
> > > > After that, we could set up mono on solaris and run some of the 
> > > > additional tests against that, then go from there onto other 
> > > > platforms as we are able to get them going.
> > > >
> > > > WDYT?
> > > >
> > > > - Brett
> > > >
> > >
> >
>

Re: continuous build machine for NMaven?

Posted by Shane Isbell <sh...@gmail.com>.
Currently, that is correct, so it's the best place to start. In the future,
we will have integration tests specific to Mono Linux, Mono Solaris, etc, as
well as Windows What I see is that we need to create an integration testing
component that can read the build platform capabilities, match those to the
build requirements and determine which tests to run. In some cases, the
integration testing component may choose to ignore certain tests if the
build platform could not support them. In this way, someone can create a
target platform and run the integration tests to see if NMaven will run on
that specific platform.

Shane

On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
>
> Even with the nmaven.settings.xml, we would still need a Windows machine
> in
> order to run all of the integration tests, correct?
>
> On 6/15/07, Shane Isbell <sh...@gmail.com> wrote:
> >
> > The motivating reason for adding the nmaven-settings.xml was to support
> > integration testing. As I added integration tests, it became time
> > consuming
> > to create the same tests for Mono, Windows and dotGNU. That also did not
> > take into account using of different frameworks (2 and now 3 for
> Microsoft
> > and more for Mono, with its various vendor versions).
> >
> > For a single build machine, what Continuum or CruiseControl would need
> to
> > be
> > able to do is to swap out the nmaven-settings.xml file (using the -
> > Dnmaven.settings=<file_path> option) and run IT tests for each settings
> > file.  This allows, say installing multiple versions of Mono that we
> > claim NMaven supports and testing out each version with a separate pass.
> >
> > This also brings about another area that we need to look into with
> > bringing
> > NMaven and Maven closer together:  the nmaven-settings.xml file
> describes
> > the platform capabilities, which is another word for profile, albeit a
> > more
> > descriptive one.
> >
> > Shane
> >
> >
> > On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
> > >
> > > That all sounds great.  The profiles solution for platform specific
> > tests
> > > would work as well, though ideally we could setup an environment which
> > was
> > > able to run all the integration tests.
> > >
> > > I agree that the most important thing is to get this started,
> compiling
> > > the
> > > code, and running the unit tests.  Once we get that baseline we can
> > slowly
> > > roll out more features, like the integration tests, code coverage,
> etc.
> > >
> > > -Evan
> > >
> > > On 6/15/07, Brett Porter <br...@apache.org> wrote:
> > > >
> > > >
> > > > On 15/06/2007, at 5:19 PM, Evan Worley wrote:
> > > >
> > > > > When you say "we don't have the software installed" are you
> > > > > referring to the
> > > > > required frameworks for the integration tests (Microsoft .NET
> > > > > platform for
> > > > > example)?
> > > >
> > > > That's right.
> > > >
> > > > >
> > > > > I believe the only operating system that is capable of passing all
> > > > > integration tests in Windows, due to MS .net platform only being
> > > > > available
> > > > > for windows.
> > > >
> > > > Right - I'll look into this.
> > > >
> > > > >
> > > > > Another option is to refine our testing strategy to enable
> > > > > functional/unit
> > > > > tests to be easily written for maven plugins.  If this were
> > > > > possible (maybe
> > > > > it is and I just don't know how), then we could rely on these
> tests
> > > > > to be
> > > > > ran and rely less on the Continuum server running the integration
> > > > > tests.
> > > >
> > > > Ideally, both types of tests would run in a continuous integration
> > > > server, with the unit tests not relying on any frameworks, and the
> > > > integration tests running under a profile that is only done on
> > > > platforms that support them.
> > > >
> > > > The most important step is that we get the code compiling and the
> > > > unit tests running that can so far, so we can probably start adding
> > > > projects to the existing instance where that's possible.
> > > >
> > > > After that, we could set up mono on solaris and run some of the
> > > > additional tests against that, then go from there onto other
> > > > platforms as we are able to get them going.
> > > >
> > > > WDYT?
> > > >
> > > > - Brett
> > > >
> > >
> >
>

Re: continuous build machine for NMaven?

Posted by Evan Worley <ev...@gmail.com>.
Even with the nmaven.settings.xml, we would still need a Windows machine in
order to run all of the integration tests, correct?

On 6/15/07, Shane Isbell <sh...@gmail.com> wrote:
>
> The motivating reason for adding the nmaven-settings.xml was to support
> integration testing. As I added integration tests, it became time
> consuming
> to create the same tests for Mono, Windows and dotGNU. That also did not
> take into account using of different frameworks (2 and now 3 for Microsoft
> and more for Mono, with its various vendor versions).
>
> For a single build machine, what Continuum or CruiseControl would need to
> be
> able to do is to swap out the nmaven-settings.xml file (using the -
> Dnmaven.settings=<file_path> option) and run IT tests for each settings
> file.  This allows, say installing multiple versions of Mono that we
> claim NMaven supports and testing out each version with a separate pass.
>
> This also brings about another area that we need to look into with
> bringing
> NMaven and Maven closer together:  the nmaven-settings.xml file describes
> the platform capabilities, which is another word for profile, albeit a
> more
> descriptive one.
>
> Shane
>
>
> On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
> >
> > That all sounds great.  The profiles solution for platform specific
> tests
> > would work as well, though ideally we could setup an environment which
> was
> > able to run all the integration tests.
> >
> > I agree that the most important thing is to get this started, compiling
> > the
> > code, and running the unit tests.  Once we get that baseline we can
> slowly
> > roll out more features, like the integration tests, code coverage, etc.
> >
> > -Evan
> >
> > On 6/15/07, Brett Porter <br...@apache.org> wrote:
> > >
> > >
> > > On 15/06/2007, at 5:19 PM, Evan Worley wrote:
> > >
> > > > When you say "we don't have the software installed" are you
> > > > referring to the
> > > > required frameworks for the integration tests (Microsoft .NET
> > > > platform for
> > > > example)?
> > >
> > > That's right.
> > >
> > > >
> > > > I believe the only operating system that is capable of passing all
> > > > integration tests in Windows, due to MS .net platform only being
> > > > available
> > > > for windows.
> > >
> > > Right - I'll look into this.
> > >
> > > >
> > > > Another option is to refine our testing strategy to enable
> > > > functional/unit
> > > > tests to be easily written for maven plugins.  If this were
> > > > possible (maybe
> > > > it is and I just don't know how), then we could rely on these tests
> > > > to be
> > > > ran and rely less on the Continuum server running the integration
> > > > tests.
> > >
> > > Ideally, both types of tests would run in a continuous integration
> > > server, with the unit tests not relying on any frameworks, and the
> > > integration tests running under a profile that is only done on
> > > platforms that support them.
> > >
> > > The most important step is that we get the code compiling and the
> > > unit tests running that can so far, so we can probably start adding
> > > projects to the existing instance where that's possible.
> > >
> > > After that, we could set up mono on solaris and run some of the
> > > additional tests against that, then go from there onto other
> > > platforms as we are able to get them going.
> > >
> > > WDYT?
> > >
> > > - Brett
> > >
> >
>

Re: continuous build machine for NMaven?

Posted by Shane Isbell <sh...@gmail.com>.
The motivating reason for adding the nmaven-settings.xml was to support
integration testing. As I added integration tests, it became time consuming
to create the same tests for Mono, Windows and dotGNU. That also did not
take into account using of different frameworks (2 and now 3 for Microsoft
and more for Mono, with its various vendor versions).

For a single build machine, what Continuum or CruiseControl would need to be
able to do is to swap out the nmaven-settings.xml file (using the -
Dnmaven.settings=<file_path> option) and run IT tests for each settings
file.  This allows, say installing multiple versions of Mono that we
claim NMaven supports and testing out each version with a separate pass.

This also brings about another area that we need to look into with bringing
NMaven and Maven closer together:  the nmaven-settings.xml file describes
the platform capabilities, which is another word for profile, albeit a more
descriptive one.

Shane


On 6/15/07, Evan Worley <ev...@gmail.com> wrote:
>
> That all sounds great.  The profiles solution for platform specific tests
> would work as well, though ideally we could setup an environment which was
> able to run all the integration tests.
>
> I agree that the most important thing is to get this started, compiling
> the
> code, and running the unit tests.  Once we get that baseline we can slowly
> roll out more features, like the integration tests, code coverage, etc.
>
> -Evan
>
> On 6/15/07, Brett Porter <br...@apache.org> wrote:
> >
> >
> > On 15/06/2007, at 5:19 PM, Evan Worley wrote:
> >
> > > When you say "we don't have the software installed" are you
> > > referring to the
> > > required frameworks for the integration tests (Microsoft .NET
> > > platform for
> > > example)?
> >
> > That's right.
> >
> > >
> > > I believe the only operating system that is capable of passing all
> > > integration tests in Windows, due to MS .net platform only being
> > > available
> > > for windows.
> >
> > Right - I'll look into this.
> >
> > >
> > > Another option is to refine our testing strategy to enable
> > > functional/unit
> > > tests to be easily written for maven plugins.  If this were
> > > possible (maybe
> > > it is and I just don't know how), then we could rely on these tests
> > > to be
> > > ran and rely less on the Continuum server running the integration
> > > tests.
> >
> > Ideally, both types of tests would run in a continuous integration
> > server, with the unit tests not relying on any frameworks, and the
> > integration tests running under a profile that is only done on
> > platforms that support them.
> >
> > The most important step is that we get the code compiling and the
> > unit tests running that can so far, so we can probably start adding
> > projects to the existing instance where that's possible.
> >
> > After that, we could set up mono on solaris and run some of the
> > additional tests against that, then go from there onto other
> > platforms as we are able to get them going.
> >
> > WDYT?
> >
> > - Brett
> >
>

Re: continuous build machine for NMaven?

Posted by Evan Worley <ev...@gmail.com>.
That all sounds great.  The profiles solution for platform specific tests
would work as well, though ideally we could setup an environment which was
able to run all the integration tests.

I agree that the most important thing is to get this started, compiling the
code, and running the unit tests.  Once we get that baseline we can slowly
roll out more features, like the integration tests, code coverage, etc.

-Evan

On 6/15/07, Brett Porter <br...@apache.org> wrote:
>
>
> On 15/06/2007, at 5:19 PM, Evan Worley wrote:
>
> > When you say "we don't have the software installed" are you
> > referring to the
> > required frameworks for the integration tests (Microsoft .NET
> > platform for
> > example)?
>
> That's right.
>
> >
> > I believe the only operating system that is capable of passing all
> > integration tests in Windows, due to MS .net platform only being
> > available
> > for windows.
>
> Right - I'll look into this.
>
> >
> > Another option is to refine our testing strategy to enable
> > functional/unit
> > tests to be easily written for maven plugins.  If this were
> > possible (maybe
> > it is and I just don't know how), then we could rely on these tests
> > to be
> > ran and rely less on the Continuum server running the integration
> > tests.
>
> Ideally, both types of tests would run in a continuous integration
> server, with the unit tests not relying on any frameworks, and the
> integration tests running under a profile that is only done on
> platforms that support them.
>
> The most important step is that we get the code compiling and the
> unit tests running that can so far, so we can probably start adding
> projects to the existing instance where that's possible.
>
> After that, we could set up mono on solaris and run some of the
> additional tests against that, then go from there onto other
> platforms as we are able to get them going.
>
> WDYT?
>
> - Brett
>

Re: continuous build machine for NMaven?

Posted by Brett Porter <br...@apache.org>.
On 15/06/2007, at 5:19 PM, Evan Worley wrote:

> When you say "we don't have the software installed" are you  
> referring to the
> required frameworks for the integration tests (Microsoft .NET  
> platform for
> example)?

That's right.

>
> I believe the only operating system that is capable of passing all
> integration tests in Windows, due to MS .net platform only being  
> available
> for windows.

Right - I'll look into this.

>
> Another option is to refine our testing strategy to enable  
> functional/unit
> tests to be easily written for maven plugins.  If this were  
> possible (maybe
> it is and I just don't know how), then we could rely on these tests  
> to be
> ran and rely less on the Continuum server running the integration  
> tests.

Ideally, both types of tests would run in a continuous integration  
server, with the unit tests not relying on any frameworks, and the  
integration tests running under a profile that is only done on  
platforms that support them.

The most important step is that we get the code compiling and the  
unit tests running that can so far, so we can probably start adding  
projects to the existing instance where that's possible.

After that, we could set up mono on solaris and run some of the  
additional tests against that, then go from there onto other  
platforms as we are able to get them going.

WDYT?

- Brett

Re: continuous build machine for NMaven?

Posted by Evan Worley <ev...@gmail.com>.
When you say "we don't have the software installed" are you referring to the
required frameworks for the integration tests (Microsoft .NET platform for
example)?

I believe the only operating system that is capable of passing all
integration tests in Windows, due to MS .net platform only being available
for windows.

Another option is to refine our testing strategy to enable functional/unit
tests to be easily written for maven plugins.  If this were possible (maybe
it is and I just don't know how), then we could rely on these tests to be
ran and rely less on the Continuum server running the integration tests.

Thoughts?
Evan

On 6/14/07, Brett Porter <br...@apache.org> wrote:
>
> Yes, we really should.
>
> The main hurdle is going to be running any integration tests since we
> typically don't have the software installed (and that probably means
> building any .NET plugins as well).
>
> The current build server runs on Solaris 10 (x86). There is also an
> ubuntu virtual machine we can use.
>
> Do you know of any alternatives?
>
> I obviously prefer Continuum :)
>
> - Brett
>
> On 15/06/2007, at 4:06 PM, Evan Worley wrote:
>
> > What do people think about getting a continuous build machine setup
> > for
> > NMaven?  I believe Maven is currently being build by Continuum.  Is
> > there a
> > preference between Continuum and CruiseControl?
> >
> > Evan
>

Re: continuous build machine for NMaven?

Posted by Brett Porter <br...@apache.org>.
Yes, we really should.

The main hurdle is going to be running any integration tests since we  
typically don't have the software installed (and that probably means  
building any .NET plugins as well).

The current build server runs on Solaris 10 (x86). There is also an  
ubuntu virtual machine we can use.

Do you know of any alternatives?

I obviously prefer Continuum :)

- Brett

On 15/06/2007, at 4:06 PM, Evan Worley wrote:

> What do people think about getting a continuous build machine setup  
> for
> NMaven?  I believe Maven is currently being build by Continuum.  Is  
> there a
> preference between Continuum and CruiseControl?
>
> Evan