lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rune Vistnes <rune...@gmail.com>
Subject Continuous integration server (TeamCity)
Date Thu, 03 Dec 2009 20:35:00 GMT
Hey,

I have set up a continuous integration server for Lucene.Net. The url is 
http://teamcity.codebetter.com/project.html?projectId=project56. The 
server builds the trunk release configuration of the Lucene.Net project, 
the demo projects, and the test project. It also runs all the tests.

At the time of writing, there are 41 failing tests, many of which is due 
to the lack of compression support. Is that a bug in the code, or is 
compression support required for those tests to pass? The way the build 
server works is that the source code is downloaded from trunk and built 
automatically as is. To enable compression support, SHARP_ZIP_LIB has to 
be defined and the SharpLibZip assembly has to be referenced. The define 
can be added as a parameter to the msbuild process. However, I'm not 
quite sure how to configure the server to add the assembly reference to 
the project file without any manual steps.

Now that the continuous integration server is set up, every time a 
commit is made, it automatically downloads the changes, builds the 
projects, and runs the tests. That way it is easy to see if the changes 
breaks the build in any way, either by causing the compilation or one or 
more tests to fail. It's possible to configure the server to 
automatically send a notification by email, instant messaging, withing 
Visual Studio, or to a tray application if a build breaks. This 
functionality is available for registered users in the "My Settings & 
Tools" section.

I hope this will come in handy for some of you. I figured that with the 
current status of trunk, with quite a few failing tests, it is nice to 
have a place to get the current status without having to build the 
project and run all the tests yourself. Also, it's a nice way to check 
whether the code actually compiles after a commit. For example, if one 
or more files were left out from the commit, it can compile just fine 
locally, but once someone else downloads the changes, it fails. This was 
actually the case a few days ago when the updated project file was not 
committed along with the deleted files.

So, what do you guys think?

- Rune


Mime
View raw message