activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <r...@evosent.com>
Subject Re: Getting continuous integration for ActiveMQ *much* faster using CircleCI.
Date Mon, 10 Aug 2015 09:19:30 GMT
The Maven Surefire plugin supports running tests in parallel. There's just
a few options to activate in the build.

However, most of the effort goes into refactoring tests that could yield
unexpected results if run in parallel with others in the same host, e.g.
discovery tests, port number collisions, shared static states, etc.

Regards,
Raúl.
On 10 Aug 2015 01:25, "Christopher Shannon" <christopher.l.shannon@gmail.com>
wrote:

> I've been thinking about how to improve the speed of builds as well and I
> think the biggest thing is just getting the tests to run in parallel,
> regardless of whether or not some form of continuous integration is used.
> Maven supports parallel tests but it would be more work than just splitting
> up the tests into more modules or running them in parallel.  I imagine
> there would be potential failures if all of the sudden we start running the
> tests in parallel and that would need be addressed.
>
>
> On Sun, Aug 9, 2015 at 3:43 PM, Kevin Burton <burton@spinn3r.com> wrote:
>
> > Hey guys.
> >
> > Right now the ActiveMQ integration takes a long time.  Last time we
> > discussed this (not sure if it was on the list) it was about 24 hours.
> >
> > I’ve been playing with our internal builds and using CircleCI’s parallel
> > integration and I reduced our builds from 50 minutes down to 15.
> >
> > I think 15 is as FAST as I can get it because there’s a constant
> > compilation time of about 3-4 minutes … and then a dependency cache
> restore
> > takes another 3 minutes.
> >
> > I think this strategy could work for ActiveMQ too.
> >
> > What I did was I broke up large sets of tests that are in modules into
> > sub-modules.
> >
> > So if I have say 150 tests in a module, I’ll split these into 5 modules
> > each with 30 test.
> >
> > Then I run modules 0-1 on pipeline0, 1,2 on pipeline1, and so on.  This
> way
> > my modules are split and can all test in parallel.
> >
> > My ‘prepare’ for each pipeline is to just “mvn install” the .jars so
> when I
> > test the modules they can don’t need any dependencies built.
> >
> > I think if we got a 24x pipeline, that we could get integrations down to
> > 30-60 minutes.  Maybe more if we went with higher parallelization.
> >
> > It wouldn’t be free though.. I think they give OSS project 3 free
> > containers but we would require more than that.  I suspect it would be
> > about $1k per month.
> >
> > It won’t break compatibility with the traditional maven build.  You can
> > still run your maven build with modules.  The only downside is that now
> you
> > have some dedicated modules with only have tests.
> >
> > Kevin
> >
> > --
> >
> > Founder/CEO Spinn3r.com
> > Location: *San Francisco, CA*
> > blog: http://burtonator.wordpress.com
> > … or check out my Google+ profile
> > <https://plus.google.com/102718274791889610666/posts>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message