Hi Claus, I have been looking at doing something similar on the Fuse Jenkins (see camel-2.15.0.redhat-6-3-x-checkin-incremental and ENTESB-4481) for our next release as the newer versions of Jenkins support incremental builds. I haven't spent a lot of time on it yet but so far it looks like most Camel build take 1-1.5 hours instead of the usual 4 or so.
I'm not sure yet if we can turn this into a PR job but if I get it straightened out the same thing could be done upstream. Cheers, Kevin On Mon, Dec 21, 2015 at 7:47 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > There is about 16.000+ unit tests in the Camel source code. And it > takes like 4-6 hours to run depending on computer power. And a of the > test may fail due "port number in use" issues etc. > > However if the PR is only changing files in a component (which most of > them really are) then we could run the tests only for that component - > which the person doing the PR should really also have done. Then the > testing is feasible to run. I wonder if that would be possible, eg if > it can somehow detect which camel component the PR is only affected, > and only do the test/build of that, so if you chance camel-quartz2, > then it does a > > cd components > cd camel-quartz2 > mvn clean install > > or something to only unit test that. > > Not sure if it would need to build SNAPSHOT dependencies of the entire > project first to have them up to date, eg so camel-core etc is build > prior? As we have so many components that takes like 30 min to do, > > If so its 2 steps > > mvn install -Pfastinstall > cd components > > cd camel-quartz2 > mvn clean install > > > > And we can also run the checkstyle rule before hand also to catch code > formatting issues. > > > On Sun, Dec 20, 2015 at 11:38 AM, Pascal Schumacher > <pascalschumac...@gmx.net> wrote: > > Hi everybody, > > > > what about setting up automated testing of pull request? > > > > The build server automatically build the pull request and updates it with > > the results: e.g. https://github.com/apache/commons-lang/pull/119 > > https://github.com/apache/groovy/pull/214 > > > > This gives the person submitting the pull request fast feedback and > allows > > him to fix any errors. > > > > Also the person merging the pull request can see if the merge will cause > any > > problems. > > > > Setting this up is easy. > > > > You can either use builds.apache.org, where you set up job like this > one: > > https://builds.apache.org/view/Groovy/job/Groovy%20Github%20PRs/ and > create > > a infra ticket to activate the github integration. > > > > Or you can use travis-ci, if you add a .travis.yml file to the repo and > > create an infra ticket to enable travis-ci integration. > > > > What do you thinks? > > > > Cheers, > > Pascal > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 >